考慮這個查詢:透視表返回所有空數據
SELECT *
FROM (
SELECT
userid,
FORMAT(datecreated, 'yyyy-MM') AS purchasemonth,
COALESCE(amount + tip, 0) AS amt
FROM invoice
) AS SourceTable
產生的輸出是這樣的:
並在其中我想每個月總結在這個支點查詢:
SELECT
userid,
COALESCE([2016-08-01], 0) AS [2016-08-01],
COALESCE([2016-09-01], 0) AS [2016-09-01]
FROM (
SELECT
userid,
FORMAT(datecreated, 'yyyy-MM') AS purchasemonth,
COALESCE(amount + tip, 0) AS amt
FROM invoice
) AS SourceTable
PIVOT
(
SUM(amt)
FOR purchasemonth IN ([2016-08-01], [2016-09-01])
) AS PivotTable
它產生如下輸出:
在原始查詢的輸出中根本沒有NULL數據。 PIVOT查詢的輸出只是空數據(合併爲0)。但我無法弄清楚爲什麼PIVOT沒有按照我的預期總結數據。我期待在PIVOT輸出中沒有NULL數據。
如何解決查詢的行爲與預期相符?
這是令人尷尬的,這本質上只是我錯過了一個錯字。 tyvm。 – Jonah