Wie Sie pivot-text-Spalten in SQL Server?
Ich habe eine Tabelle wie diese in meiner Datenbank (SQL Server 2008)
ID Type Desc
--------------------------------
C-0 Assets No damage
C-0 Environment No impact
C-0 People No injury or health effect
C-0 Reputation No impact
C-1 Assets Slight damage
C-1 Environment Slight environmental damage
C-1 People First Aid Case (FAC)
C-1 Reputation Slight impact; Compaints from local community
habe ich die Anzeige der Vermögens -, Personen -, Umwelt-und Ruf als Spalten und Anzeige aufeinander abgestimmt Desc Werten. Aber wenn ich die pivot-Abfrage, alle meine Werte sind null.
Kann jemand schaut in meine Abfrage und sagen Sie mir, wo ich falsch mache?
Select severity_id,pt.[1] As People, [2] as Assets , [3] as Env, [4] as Rep
FROM
(
select * from COMM.Consequence
) As Temp
PIVOT
(
max([DESCRIPTION])
FOR [TYPE] In([1], [2], [3], [4])
) As pt
Hier ist meine Ausgabe
ID People Assets Env Rep
-----------------------------------
C-0 NULL NULL NULL NULL
C-1 NULL NULL NULL NULL
C-2 NULL NULL NULL NULL
C-3 NULL NULL NULL NULL
C-4 NULL NULL NULL NULL
C-5 NULL NULL NULL NULL
InformationsquelleAutor Dinesh | 2012-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Mikael Eriksson
Ich neu erstellt, diese in sql server, und es funktioniert Prima.
Ich versuche zu konvertieren, das zu arbeiten, wenn man nicht weiß, was der Inhalt sein wird, in der ART und BESCHREIBUNG Spalten.
War ich auch mit diesem als Leitfaden. (Konvertieren von Zeilen in Spalten mit "Drehpunkt" in SQL Server)
BEARBEITEN ----
Hier ist meine Lösung für die oben, wo Sie NICHT WISSEN, den Inhalt in einem der Felder....
Ich muss mich entschuldigen - meine "Antwort" beantwortet die Frage nicht. - Ich brauchte nur die geposteten Antworten zu diesem Beitrag werden dynamische ... wo die Programmierer nicht wissen, die Inhalte der Felder noch konnte sql server erstellen Sie die Felder auf der fliege, und füllen Sie Sie. - Ich war in der Lage, um es herauszufinden, und ich werde meine Ergebnisse hier in ein paar Tagen - unter Zeitdruck jetzt.
InformationsquelleAutor user2792497