Xpoint
   [напомнить пароль]

помогите составить запрос

Метки: [без меток]
2009-03-02 17:48:18 [обр] Леонид Валитов(0/3)[досье]

Здравствуйте!
что-то затрудняюсь с составлением запроса
есть табличка (Date datetime, ProductID int, Quantity int, WarehouseID int)
данные могут существовать не за каждую дату и на разных складах по разному
необходимо получить Date, ProductID, Quantity
за каждую дату за которую есть остаток продукта хотя бы на одном складе
суммарное количество по каждому продукту по всем складам
если на одном из складов есть данные по выбранному продукту за выбранную дату
а по другому складу нет то по другому складу нужно взять количество
из ближайшей предшествующей даты когда такие данные были

самые последние остатки или на выбранную дату выбрать получается примерно так
select s.ProductID,sum(s.Quantity) Quantity
from InStock s
join (
  select max(s.Date) Date, s.ProductID, s.WarehouseID
  from InStock s
  where (@UseDateTo is null or s.Date<=convert(datetime,@DateTo ,101))
  group by s.ProductID, s.WarehouseID
) t on t.Date=s.Date and t.WarehouseID=s.WarehouseID and t.ProductID=s.ProductID
group by s.ProductID
а вот как выбрать по всем датам сразу что-то затрудняюсь сформулировать
sql2k

спустя 7 дней [обр] Леонид Валитов(0/3)[досье]
что-то как будто вымерли тут все
подселектом оказалось самое быстрое решение какое смог найти
Powered by POEM™ Engine Copyright © 2002-2005