Ich habe eine Transaktionstabelle, die ich PIVOT (Quantity by Month). Die folgende Abfrage wird ordnungsgemäß ausgeführt, schließt jedoch Elemente aus, die in der Tx-Tabelle keine Werte enthalten (und nicht vorhanden sind). Ich habe zuerst die GIP-Tabelle (eine vollständige Liste aller Elemente und verschiedene Informationen zu jedem Element) zuerst verwendet und die Tx-Tabelle dazu hinzugefügt, aber das hat nicht funktioniert. Ich versuchte auch LEFT OUTER JOIN und fügte auch einen NULL-Qualifier in die WHERE-Klausel ein. Bonus, wenn jemand dies in eine dynamische Abfrage für die Monate in Reihenfolge umwandeln kann.SQL PIVOT zeigt keine NULL Ergebnisse
SELECT
CAST([item_no] AS INT) 'IMF',
[1] AS 'Jan',
[2] AS 'Feb',
[3] AS 'Mar',
[4] AS 'Apr',
[5] AS 'May',
[6] AS 'Jun',
[7] AS 'Jul',
[8] AS 'Aug',
[9] AS 'Sep',
[10] AS 'Oct',
[11] AS 'Nov',
[12] AS 'Dec'
FROM
(SELECT
GIP.[Station__No],
GIP.[generic_inventory],
GIP.[item_no],
(Tx.[Quantity]*-1) Qty,
MONTH(Tx.[Date_Posted]) TMonth
FROM
[Surgery].[genericx_inventory_item_445_01] GIP
LEFT JOIN [CDWWork].[IFCAP].[inventory_transaction_445_2] Tx ON Tx.[station__no] = GIP.[station__no] AND Tx.[Inventory_Point] = GIP.[generic_inventory] AND GIP.[Itemnox] = Tx.[Item_no]
where GIP.[Station__no] = 658
and Tx.[Date_Posted] >= '7/01/16'
and Tx.[Date_Posted] <= '6/30/17'
and GIP.[generic_inventory] = 623
) As x
PIVOT
(
SUM(Qty)
FOR TMonth
IN([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])
)P
Ja, tatsächlich! Vielen Dank! – Fizicks