我需要查找過去五天內按日期分組的三種產品及其數量的列表。爲此,我使用了下面的TSQL。非現有組項目類別的零計數
SELECT CONVERT(VARCHAR(10),WM_data,103) as Date,
Product = CASE
WHEN WM_Product = 1 THEN 'Product A'
WHEN WM_Product = 2 THEN 'Product B'
ELSE 'Product C'
END,
WM_qtd as Quantity
FROM Tb_InfoProduct
GROUP BY CONVERT(VARCHAR(10),WM_data,103), WM_Product
HAVING CONVERT(VARCHAR(10),WM_data,103) > convert(VARCHAR(10),dateadd(dd, -5, getdate()),103)
ORDER BY CONVERT(VARCHAR(10),WM_data,103), WM_Product
,結果我得到:
Date Product Quantity
-------------------------------------------------
16/02/2012 Product A 132
16/02/2012 Product C 10
17/02/2012 Product A 163
17/02/2012 Product B 61
17/02/2012 Product C 58
18/02/2012 Product A 7
18/02/2012 Product B 2
但我需要:
Date Product Quantity
-------------------------------------------------
16/02/2012 Product A 132
16/02/2012 Product B 0 -- This
16/02/2012 Product C 10
17/02/2012 Product A 163
17/02/2012 Product B 61
17/02/2012 Product C 58
18/02/2012 Product A 7
18/02/2012 Product B 2
18/02/2012 Product C 0 -- This
我怎樣才能做到這一點?
你需要有(或產生)日期的列表,你再外連接上的日期值。 – 2012-02-26 02:58:20
另外,您應該在'WHERE'子句中進行過濾(使用日期對象而不是字符串) – Leigh 2012-02-26 04:42:26