SQL Server-Merge 2 Zeilen in 1
Ist es möglich, zum Zusammenführen von 2 Zeilen in einer einzigen Zeile in SSRS 2008?
Jeder Teil wird einen Eintrag für jede Website
+---------------+-------+-------+
|Part Number |Cost |Site |
+---------------+-------+-------+
|1 |2.4 |Site 1 |
|1 |68.8 |Site 2 |
+---------------+-------+-------+
Gewünschte Ergebnis
+-----------+-------+-------+
|Part Number|Site 1 |Site 2 |
+-----------+-------+-------+
| 1 |2.4 |68.8 |
+-----------+-------+-------+
Danke
- Sie brauchen, um über Kreuztabellen-Abfragen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wissen, Ihre Website-Nummern/- Namen werden nicht dynamisch ändern, dann können
CASE WHEN
:sDurch Gruppierung, beseitigt eine NULL-Werte...
Hier link mit SQL Fiddle Beispiel
In SSRS zu verwenden müssen Sie
MATRIX
Bericht zum konvertieren von Zeilen in Spalten ohne VerwendungPIVOT operator
Angenommen, Sie haben eine Tabelle
SSRSPivot
Werden die Daten in der unten format
Erstellen einer neuen, leeren Bericht und nennen Sie es als
PIVOT
.Erstellen Sie eine Datenquelle und dataset schreiben Sie die AbfrageZiehen
matrix
aus der toolbox auf die SSRS-designer.FürRows
wählen SiePartNumber
.Für Spalten wählen SieSite
und für die Daten wählen SieSum(Cost)
Wenn Sie die oben genannten Schritt erhalten Sie die
row
undcolumn
details wie das untenErgebnis Aussehen wird,
Diese Art der Daten-transformation ist bekannt als ein
PIVOT
. Ab SQL Server 2005 gibt es eine Funktion, die Umsetzung der Daten in Spalten für Sie.Wenn Sie eine bekannte Anzahl von
Site
Werte, die Sie wollen, biegen Sie in die Spalten, dann Sie können schwer-code der Abfrage:Sehen SQL Fiddle mit Demo
Aber wenn Sie haben eine unbekannte Anzahl von Werten, dann müssen Sie dynamisches SQL verwenden, um zu generieren in der Spalte Liste in der Abfrage verwendet werden:
Sehen SQL Fiddle mit Demo. Beide geben das Ergebnis: