|
MySQL.RU - Webboard
Вернуться
Помогите с запросом : запутался с датами (Ekklipce) 25/08/2004 - 14:06:06
Re: А в чем вопрос? (Валентин) 25/08/2004 - 17:40:36
Re: А в чем вопрос? (Ekklipce) 26/08/2004 - 11:39:23
From: Ekklipce - 25/08/2004 - 14:06:06
Subject:Помогите с запросом : запутался с датами
-----------------
Решил вынести полную задачу в отдельный файл :
crossposted to :
http://phpclub.ru/talk/showthread.php?s=&threadid=55010
Итак, исходные данные :
Table general (только используемые поля)
id---magazine---date_issue--прочие поля..
1----83-----------2004-02-18--...
2----83-----------2004-02-18--...
3----83-----------2004-02-18--...
4----83-----------2004-02-18--...
Table discount_vol (скидки, разные к примеру за каждый месяц)
id------date_change--sum---rate
83-----2004-01-01---2000--40
83-----2004-01-01---2500--45
83-----2004-02-01---2000--30
83-----2004-02-01---2500--35
83-----2004-02-01---3000--40
83-----2004-03-01---2500--25
83-----2004-03-01---2500--20
83-----2004-03-01---3000--15
Для поля 83 надо получить данные из discount_vol по дате, меньшей чем general.magazine, то есть
id------date_change--sum---rate
83-----2004-02-01---2000--30
83-----2004-02-01---2500--35
83-----2004-02-01---3500--30
помогите с запросом.. наверно юзать нажно MAX(discount_vol.date_change),
с условием типа general.date_issue > discount_vol.date_change
AND discount_vol.date_change = MAX(discount_vol.date_change)
вот запрос, который выводит все..
SELECT discount_vol.sum AS sum, discount_vol.rate AS rate, discount_vol.date_change
FROM discount_vol, general
WHERE general.magazine = discount_vol.id
AND discount_vol.id = '83'
AND general.date_issue > discount_vol.date_change
GROUP BY discount_vol.sum
при таком запросе выводяться данные по самым первым датам..
id------date_change--sum---rate
83-----2004-01-01---2000--40
83-----2004-01-01---2500--35
83-----2004-02-01---3000--35
НУЖНО по датам ближайщим к general.magazine - 2004-02-18 - но меньше их, то есть :
id------date_change--sum---rate
83-----2004-02-01---2000--30
83-----2004-02-01---2500--35
83-----2004-02-01---3500--30
в конечном итоге сумма sum будет уникальной, по ней и группирую, иначе - большое количество результатов получаеться.. чуть ли не на каждую запись в general
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
16836
|
|