Ich habe eine Tabelle, aus der ich Daten unter bestimmten Bedingungen erhalten möchte. Ich erhalte Daten mit unter Abfrage.Wie konvertiert man mehrere Zeilen in eine Zeile mit mehreren Spalten mit Pivot in SQL Server, wenn Daten mit NULL Werten
SELECT track,
ytd,
weekno,
[unit]
FROM SMIrawdataFinal
WHERE unit IS NOT NULL AND tracktype='focus' AND track='A' AND ytd IS NOT NULL
Original Tabelle (Daten) ist wie folgt.
track ytd weekno unit
A (Blank) 1 1
A (Blank) 2 2
A (Blank) 3 3
A 19 5 5
A (Blank) 4 4
Ich habe unten Daten mit PIVOT in SQL Server. Mein Problem ist Wie kann ich Nullwerte entfernen und die gleichen Daten in einer einzigen Zeile erhalten.
autoId track ytd col4 col3 col2 col1
-------------------------------------------------
1 A (Blank) NULL 4 3 2
2 A 19 5 NULL NULL NULL
Unten ist mein SQL-Abfrage:
SELECT *
FROM (
SELECT track,ytd,weekno,[unit]
FROM SMIrawdataFinal
WHERE album = 'XYZ'
AND unit IS NOT NULL
AND tracktype='focus'
AND track='A'
AND ytd IS NOT NULL
) as s
PIVOT(
SUM(unit)
FOR weekno in ([5],[4],[3],[2])
)AS pivot1
Was verwenden Sie? SQL Server ODER MySQL? Du hast beide Tags! Aufgrund Ihres Codes würde ich erwarten, dass Sie einen SQL Server ausführen. – Ionic
(Blank) meinst du '' ''? –
Woher kommt die "autoId"? Sie würden auf einer Linie sein, wenn sie das selbe waren. BEARBEITEN SIE: Wenn YTD einmal (leer) und ein anderes Mal "19" ist, könnte es richtig sein, mit zwei Reihen zurückzukommen ... – Shnugo