Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как найти ближайшую дату к заданной  [new]
rumpel_
Member

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

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

В таблице есть изменения за 05 и 06 месяцы, и за 2012 год. По идее запрос должен вернуть последнее изменение перед 01/07/2011, если я все правильно понял. Как это реализовать?
Спасибо.
4 фев 13, 13:25    [13872039]     Ответить | Цитировать Сообщить модератору
 Re: как найти ближайшую дату к заданной  [new]
Гость333
Member

Откуда:
Сообщений: 3683
rumpel_
Как это реализовать?

Для начала реализуйте Рекомендации по оформлению сообщений в форуме, пп. 4, 6.
4 фев 13, 13:36    [13872134]     Ответить | Цитировать Сообщить модератору
 Re: как найти ближайшую дату к заданной  [new]
rumpel_
Member

Откуда:
Сообщений: 7
Гость333, крайне благодарен Вам за оказанную, неоценимую помощь.....
4 фев 13, 13:47    [13872210]     Ответить | Цитировать Сообщить модератору
 Re: как найти ближайшую дату к заданной  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
rumpel_
Гость333, крайне благодарен Вам за оказанную, неоценимую помощь.....
Спасени утопающих сами знаете чьих рук дело. Угадывать среди вашего потока сознания, что вам таки надо, никому особо не интересно.
4 фев 13, 14:00    [13872342]     Ответить | Цитировать Сообщить модератору
 Re: как найти ближайшую дату к заданной  [new]
Bator
Member

Откуда: Порт пяти морей
Сообщений: 439
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
4 фев 13, 14:01    [13872355]     Ответить | Цитировать Сообщить модератору
 Re: как найти ближайшую дату к заданной  [new]
rumpel_
Member

Откуда:
Сообщений: 7
Прошу прощения за некорректно поставленную задачу, я в этом деле новичок и это собственно мое тестовое..

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

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

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

К сообщению приложен файл (rpm_zone_future_retail.xls - 49Kb) cкачать
4 фев 13, 14:24    [13872532]     Ответить | Цитировать Сообщить модератору
 Re: как найти ближайшую дату к заданной  [new]
muk07
Member

Откуда: Челябинск
Сообщений: 1867
select цена
from pricelist p1
where дата=(select max(дата) from pricelist p2 where дата<=текущая дата and p1.товар=p2.товар)
and p1.товар=заданный товар
4 фев 13, 15:06    [13872846]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить