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

Откуда:
Сообщений: 4
Помогите пожадуйста с запросом.
Select
"StockDate" = CONVERT(nvarchar,STOCK.OperationDate,104) ,
STOCK.Customer,
STOCK.Cod_Product,
STOCK.PRD_qty,
STOCK.Stock_Qty,
"VISIT-1" = CONVERT(nvarchar,ORD.OperationDate,104),
ORD.QtyOrdered,
ORD.QtyDelivered
FROM
(Select distinct
OperationDate,
Customer,
Cod_Product,
"PRD_qty" = count(Cod_Product),
"Stock_Qty" = sum(Stock_Qty)
from Stock_Order_Delivery
Where Customer = '0850058905'
Group by
OperationDate,
Customer,
Cod_Product
)
AS STOCK

INNER JOIN 
(Select distinct
OperationDate,
Customer,
Cod_Product,
"PRD_qty" = count(Cod_Product),
"QtyOrdered" = sum(QtyOrdered),
"QtyDelivered" = sum(QtyDelivered)
from Stock_Order_Delivery
Where Customer = '0850058905'
Group by
OperationDate,
Customer,
Cod_Product
)
AS ORD
ON (STOCK.Customer = ORD.Customer
   and 
   STOCK.Cod_Product = ORD.Cod_Product
   and 
   CONVERT(nvarchar,ORD.OperationDate,104)< CONVERT(nvarchar,STOCK.OperationDate,104))
GROUP BY
STOCK.OperationDate ,
STOCK.Customer,
STOCK.Cod_Product,
STOCK.PRD_qty,
STOCK.Stock_Qty,
ORD.QtyOrdered,
ORD.QtyDelivered,
ORD.OperationDate
Order by
STOCK.OperationDate ,
STOCK.Customer,
STOCK.Cod_Product
Как к этому запросу добавить функцию , которая выбирала бы к каждой "STOCK.OperationDate"
максимальную предыдущую дату "ORD.OperationDate"?

Сообщение было отредактировано: 15 окт 09, 17:45
15 окт 09, 13:53    [7791028]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
javajdbc
Member

Откуда: Montreal
Сообщений: 17715
AlexanderMur,

1. Ето разве МУСКЛ? вы не перепутали?

2. пользуйтесь тагом SRC , такие вертикальные сосиски не очень удобно читать без табуляции.

3. ФРОМ подселекты какието некузявые: дистинкт.... груп бай ....
кастомер уже задан, по нему не надо селать груп бай

4. связка по датам непонятная , похоже что вы спрашиваете
к каждому дню из таблицы СТОК все предыдушие дни из ОРД
для каждого Кастомера-Проукта. ето то что вам нужно?

5. Уточните свой вопрос, чисто по логике, словами, без привязки
к приведеному СКЛ.

6. Приведите тестовый пример с 5-6 сточками в таблице Stock_Order_Delivery
и какой результат вы хотите.
15 окт 09, 17:44    [7793078]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в SQL по выбору макс предыдущей даты  [new]
AlexanderMur
Member

Откуда:
Сообщений: 4
javajdbc, да действительно это не mysql это sql 2000 - ошибся
Модератор: Тема перенесена из форума "MySQL".


Сообщение было отредактировано: 15 окт 09, 18:07
15 окт 09, 17:54    [7793166]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в SQL по выбору макс предыдущей даты  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
Закрыта как дубликат: https://www.sql.ru/forum/actualthread.aspx?tid=703986
15 окт 09, 18:21    [7793342]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить