Wie füge ich zwei Zeilen in einer Zeile in sql zusammen?

8

Ich habe eine Tabelle als

%Vor%

Aber ich möchte die Ausgabe wie folgt (Ich möchte diese Ausgabe zu inneren Join mit einer anderen Tabelle verwenden)

%Vor%

Ich habe in PIVOT nachgesehen, bin mir aber nicht sicher, wie ich es in meinem Fall verwenden soll.

    
user1882705 14.03.2013, 13:53
quelle

2 Antworten

21

Dieser Transformationstyp wird als Pivot bezeichnet. Sie haben nicht angegeben, welche Datenbank Sie verwenden, aber Sie können eine Aggregatfunktion mit einem CASE -Ausdruck in einem beliebigen System verwenden:

%Vor%

Siehe SQL Geige mit Demo

Abhängig von Ihrer Datenbank können Sie, wenn Sie Zugriff auf die Funktionen PIVOT und UNPIVOT haben, diese verwenden, um das Ergebnis zu erhalten. Die Funktion UNPIVOT konvertiert die Spalten IndividualPay und FamilyPay in Zeilen. Sobald das erledigt ist, können Sie die vier neuen Spalten mit der Funktion PIVOT erstellen:

%Vor%

Siehe SQL Geige mit Demo .

Beide geben das gleiche Ergebnis:

%Vor%     
Taryn 14.03.2013, 13:58
quelle
2
%Vor%     
Ray Saltrelli 14.03.2013 14:11
quelle

Tags und Links