我有一個SQL查詢其通過項目拉動銷量,按周:顯示一行每個日曆周在SQL
SELECT sls_vendor,
sls_item,
sls_units,
DATEPART(week, sls_week) AS sls_date
FROM mytable
假設我在看A 8周的時間,但不是每一個項目/供應商組合具有整整8周的銷售額。但是,我需要我的查詢在該實例中顯示空值。因此,查詢將爲每個項目/供應商組合返回8行,而不管是否存在。
我試着創建一個臨時表,它有28到35的數字,並對上面的查詢執行左連接,但是不顯示空值。結果與單獨運行原始查詢沒有區別。
我可以想到如何使用交叉表/數據透視查詢來完成這項工作,但這不是聯接應該做的事情嗎?
編輯:已更新顯示我的連接查詢。 Datetable
只有8行,每個日曆周有1個增量編號。
SELECT * FROM @datetable
LEFT JOIN
(SELECT
sls_vendor,
sls_item,
sls_units,
datepart(week,sls_week) AS sls_date
FROM mytable) AS QRY
ON temp_week = qry.sls_date
左連接是你想要的,你可以發佈你的左連接嘗試? – OCary
這應該有效。是否有一個where子句會殺死左連接。例如'WHERE sls_vendor ='Initech'' –