orausdo
Goto Top

Daten aus mehreren Zeilen in einer Zeile zusammenfassen

Hallo zusammen,

ich habe folgende u.a.. Tabelle. SQL Server mit T-SQL

Die Zeilen in der Quelle müssen in einer Zeile stehen wie im Teilausschnitt Ziel
Leider komme ich irgendwie nicht weiter.
Habe mit Pivotierung usw. getestet.
geht aber leider irgendwie nicht.

Die Tabelle enthält mehrere 100000 Datensätze mit verschiedenen ID's und die anderen Werte sind auch alle unterschiedlich.
Die Spaltennamen sollte wie angegeben sein.

Könnte mir da bitte einer von Euch auf die Sprünge helfen?

Vielen Dank.

Grüsse
tabellen

Content-Key: 71483985465

Url: https://administrator.de/contentid/71483985465

Printed on: July 16, 2024 at 16:07 o'clock

Member: WolleRoseKaufe
Solution WolleRoseKaufe Jul 07, 2024 updated at 13:55:49 (UTC)
Goto Top
Hi.
Z.B.
SELECT
    ID,
    MAX(CASE WHEN Nr <> '' THEN Nr ELSE NULL END) AS Nr,  
    MAX(CASE WHEN Info1 <> '' THEN Info1 ELSE NULL END) AS Info1,  
    MAX(CASE WHEN Info2 <> '' THEN Info2 ELSE NULL END) AS Info2,  
    MAX(CASE WHEN Info3 <> '' THEN Info3 ELSE NULL END) AS Info3,  
    MAX(CASE WHEN Info4 <> '' THEN Info4 ELSE NULL END) AS Info4  
FROM
    your_table
GROUP BY
    ID;
Gruß wrk
Member: orausdo
orausdo Jul 07, 2024 at 14:03:25 (UTC)
Goto Top
Moin wrk,

super, vielen Dank für die schnelle Hilfe.

Habe es auch schon mit Case...when probiert.
Aber ohne Max Aggr.
Brachte leider nicht das gewünschte Ergebnis...

Danke nochmal.

Gruss O
Member: WolleRoseKaufe
WolleRoseKaufe Jul 07, 2024 updated at 20:41:47 (UTC)
Goto Top
Bidde. Dann auch als gelöst markieren nicht vergessen.

Funktioniert einwandfrei, guckst du
https://sqlfiddle.com/sql-server/online-compiler?id=a1a6125c-8d7a-444b-a ...
Member: MysticFoxDE
MysticFoxDE Jul 07, 2024 at 20:38:57 (UTC)
Goto Top
Moin @orausdo,

Brachte leider nicht das gewünschte Ergebnis...

dann probiere es mal damit.

SELECT Table1.ID AS ID, Table1.Nr AS Nr, Table2.Info1 AS Info1, Table3.Info2 AS Info2, Table4.Info3 AS Info3, Table5.Info4 AS Info4
FROM
    Table AS Table1, Table AS Table2, Table AS Table3, Table AS Table4, Table AS Table5
WHERE
    (Table1.ID = "815" AND Table1.Nr <> "") AND  
    (Table2.ID = "815" AND Table2.Info1 <> "") AND  
    (Table3.ID = "815" AND Table3.Info2 <> "") AND   
    (Table4.ID = "815" AND Table4.Info3 <> "") AND   
    (Table5.ID = "815" AND Table5.Info4 <> "")   

Gruss Alex
Member: orausdo
orausdo Jul 08, 2024 at 06:23:55 (UTC)
Goto Top
Moin Alex,

auch Dir vielen Dank für Unterstützung.
Die Lösung von wrk hat bereits funktioniert.
Bei Deiner Lösung ist die ID fest hinterlegt.
Ich habe aber unzählige ID's
Das kann dann wohl nur für die von mir gegebenen Daten die Lösung sein.
Aber trotzdem vielen Dank, dass Du Dir die Zeit genommen hast.

Gruss O
Member: orausdo
orausdo Jul 08, 2024 at 06:25:21 (UTC)
Goto Top
Moin wrk,

klar mache ich.

Danke für Deine Hilfe.

Gruss O