Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16836



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |