как найти ближайшую дату к заданной

rumpel_
Дата: 04.02.2013 13:25:36
Здравствуйте, подскажите пожалуйста, как написать запрос, по таким условиям:
"Исходим из того, что мы имеем исторические изменения до 3 месяцев в прошлом и
все будущие изменения. Текущая дата в системе 01/07/2011.

Написать SQL запрос который покажет текущую цену для товара 03020318 в
каждой ценовой зоне (на 01/07/2011)."

В таблице есть изменения за 05 и 06 месяцы, и за 2012 год. По идее запрос должен вернуть последнее изменение перед 01/07/2011, если я все правильно понял. Как это реализовать?
Спасибо.
Гость333
Дата: 04.02.2013 13:36:11
rumpel_
Как это реализовать?

Для начала реализуйте Рекомендации по оформлению сообщений в форуме, пп. 4, 6.
rumpel_
Дата: 04.02.2013 13:47:25
Гость333, крайне благодарен Вам за оказанную, неоценимую помощь.....
Гавриленко Сергей Алексеевич
Дата: 04.02.2013 14:00:58
rumpel_
Гость333, крайне благодарен Вам за оказанную, неоценимую помощь.....
Спасени утопающих сами знаете чьих рук дело. Угадывать среди вашего потока сознания, что вам таки надо, никому особо не интересно.
Bator
Дата: 04.02.2013 14:01:26
rumpel_
Здравствуйте, подскажите пожалуйста, как написать запрос, по таким условиям:
"Исходим из того, что мы имеем исторические изменения до 3 месяцев в прошлом и
все будущие изменения. Текущая дата в системе 01/07/2011.

Написать SQL запрос который покажет текущую цену для товара 03020318 в
каждой ценовой зоне (на 01/07/2011)."

В таблице есть изменения за 05 и 06 месяцы, и за 2012 год. По идее запрос должен вернуть последнее изменение перед 01/07/2011, если я все правильно понял. Как это реализовать?
Спасибо.


Нужно описание структур и что же конкретно нужно (правильно заданный вопрос содержит половину ответа)

На вскидку, такое подходит под описание задачи:
SELECT TOP 1 Price
FROM   SomeTable
WHERE  SomeDate<= '20110701'
       AND SomeID = '03020318'
ORDER BY
       SomeDate DESC
rumpel_
Дата: 04.02.2013 14:24:34
Прошу прощения за некорректно поставленную задачу, я в этом деле новичок и это собственно мое тестовое..

вот и оно (таблица приложена к посту):
В таблице RPM_ZONE_FUTURE_RETAIL хранятся изменения цен на уровне товар/
ценовая зона (ITEM/ZONE). В таблице RPM_FUTURE_RETAIL хранятся изменения
цен на уровне товар/магазин (ITEM/LOCATION).
Исходим из того, что мы имеем исторические изменения до 3 месяцев в прошлом и
все будущие изменения. Текущая дата в системе 01/07/2011.

В нашей конфигурации, все магазины одной ценовой зоны должны иметь
одинаковые цены на товар.

1.
Написать SQL запрос который покажет текущую цену для товара 03020318 в
каждой ценовой зоне (на 01/07/2011).
muk07
Дата: 04.02.2013 15:06:18
select цена
from pricelist p1
where дата=(select max(дата) from pricelist p2 where дата<=текущая дата and p1.товар=p2.товар)
and p1.товар=заданный товар