SQL Server: wie kann ich VERSCHMELZEN mit einer PIVOT-Tabelle?
Was ich versuche zu tun, ist geben Sie einen Wert ein, wenn ein anderer Wert nicht vorhanden ist in meiner pivot-Tabelle.
Pivot-Tabelle
SELECT *
FROM MyTable
PIVOT ( MAX(Number) for Total in ([Bob], [Jim], [Carol], [Simon])) as MaxValue
Ergebnis
Item | Bob | Jim | Carol | Simon
Item1 3 4 7
Item2 2 9 1
Item3 5
Was ich bin versucht zu verbessern der obigen Tabelle ist zu zeigen, wenn die person zugeordnet wurde, einen Artikel, wenn es keine Zahl gibt.
Erwartete Ergebnis
Item | Bob | Jim | Carol | Simon
Item1 3 4 X 7
Item2 2 9 1 X
Item3 X X X 5
Ich habe eine Spalte (war auskommentiert oben) mit dem Namen der person, wenn die person vergeben wurde, der Eintrag, aber ich dachte, vielleicht könnte ich COALESCE
an Stelle der "X", wenn der Benutzer zugewiesen wurde, der Artikel aber nichts, wenn nicht. Zwar bin ich nicht in der Lage, um herauszufinden, wie dies zu tun. Vielleicht ist dies der falsche Ansatz. Lassen Sie mich wissen, wenn ich lassen sich einige Informationen. Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können
COALESCE
auf die endgültige Auswahlliste zu ersetzen, dienull
Werte mit einemX
:Hinweis: je nach Datentyp des
Total
Spalte, die Sie haben könnten zu cast/convert den Wert, so dass Sie können ersetzen Sie die null mit einem string.Wenn Sie konvertieren Sie den Datentyp, wird die Abfrage:
Sehen SQL Fiddle mit Demo. Dieser gibt zurück: