Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.20;
Скачать: CL | DM;

Вниз

Подскажите как по-проще сделать запрос!   Найти похожие ветки 

 
BlackTiger   (2003-02-01 15:31) [0]

ХочУт видеть результат такой формы (список колонок слева направо):

[Товар]
[Продажа за тек. месяц (кол-во)]
[Продажа за месяц -1 (кол-во)]
[Продажа за месяц -2 (кол-во)]
[Продажа за месяц -3 (кол-во)]
[Наличие на складах (всего)]
[Наличие на складе "1"]
[Наличие на складе "2"]
[Наличие на складе "3"]
...
[Наличие на складе "N"]


При этом коды складов лежат в своей таблице и их кол-во ограничено только фантазией. Еще попутно не включать в результат товар, по которому все параметры (количества) равны нулю.
Таблицы такие (упрощенно):

[Товары]
[Склады]
[Наличие] ([Код Товара],[Код Склада],[Количество])
[Продажи] ([Код Товара],[Код Склада],[Дата],[Количество])


Вот сижу и думаю, то ли генерить SQL-запрос, то ли написать ХП. Дело в том, что я не мастер писать сложные ХП. И что лучше в плане производительности?


 
Johnmen ©   (2003-02-02 02:06) [1]

В данном тяжелом случае можно только с помощью ХП.
:)


 
BlackTiger   (2003-02-02 13:00) [2]

А как? Я уже сказал, что не мастер в сложных ХП.
Сейчас пытаюсь сделать запросом - бред полный получается. Он на каждую запись из продаж выдает все записи из склада - связь между таблицами ставится неправильно, получается связь Товар->Продажи->Склад, и нужно Товар->Продажи И Товар->Склад.
Вот текст моего пробного запроса

SELECT
i.[Category Code] AS [Item Category Code],
ic.[Category Type 1 Code] AS [Item Category Type 1 Code],
ic.[Category Type 2 Code] AS [Item Category Type 2 Code],
i.[Manufacturer Code],
i.[Code] AS [Item Code],
i.[Description] AS [Item Name],

(CASE s.[Period Code] WHEN 200301 THEN s.[Qty] ELSE 0 END) AS [Sale Data|CM Sold Qty],
(CASE s.[Period Code] WHEN 200212 THEN s.[Qty] ELSE 0 END) AS [Sale Data|CM-1 Sold Qty],
(CASE s.[Period Code] WHEN 200211 THEN s.[Qty] ELSE 0 END) AS [Sale Data|CM-2 Sold Qty],
(CASE s.[Period Code] WHEN 200210 THEN s.[Qty] ELSE 0 END) AS [Sale Data|CM-3 Sold Qty],

st.[Qty] AS [Stock Data|Total Qty|Quantity],
(CASE st.[Shop Code] WHEN "SHOP1" THEN st.[Qty] ELSE 0 END) AS [Stock Data|SHOP1|Qiantity]
(CASE st.[Shop Code] WHEN "SHOP2" THEN st.[Qty] ELSE 0 END) AS [Stock Data|SHOP2|Qiantity]
(CASE st.[Shop Code] WHEN "SHOP3" THEN st.[Qty] ELSE 0 END) AS [Stock Data|SHOP3|Qiantity]
FROM Items i
INNER JOIN dbo.Categories ic ON i.[Category Code] = ic.[Category Code]
LEFT OUTER JOIN dbo.Sales s ON i.[Code]=s.[Item Code]
LEFT OUTER JOIN dbo.[Current Stock] st ON i.[Code] = st.[Item Code]
WHERE
(i.[Code] = "155100")
AND (st.[Shop Code] IN ("SHOP1","SHOP2","SHOP3"))
AND (s.[Period Code] IN (200210,200211,200212,200301))


Что и где не так? Не пойму...



Страницы: 1 вся ветка

Текущий архив: 2003.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
9-63467
NudeRaven
2002-09-17 13:11
2003.02.20
Проблема с DXDRAW


9-63461
Ангел
2002-09-12 14:13
2003.02.20
Движок для игры типа StarCraft_а на Delphi 6


14-63771
pl_quad
2003-02-03 11:51
2003.02.20
доки по com интерфейсам MS Office


7-63864
dimmu3
2002-12-02 08:45
2003.02.20
как сделать, что бы для формы на taskbar е отображала


14-63769
sva_v
2003-02-03 18:54
2003.02.20
Построение графиков по набору данных