Seite 1 von 1

SQL Syntax Werte in Tuple zusammenfassen

Verfasst: Dienstag 8. Februar 2022, 08:09
von cbesi
Hallo zusammen,

ich habe das Problem das ich für mein Script Daten benötige die etwas verschachtelt sind.

Hier mein Select:

Code: Alles auswählen

SELECT 
t1.ArtikelID,
t1.ArtikelNummer,
t2.XDateienID,
t1.Bezeichnung,
t1.langtext,
t1.K_Sortierung,
t1.K_Kaliber,
t1.Tara,
t2.DateienID,
t3.DateiName,
t3.DateiInhalt,
t1.Zeitstempel,
t4.K_LeergutArtikelID

	  
  FROM [TestDaten].[dbo].[Artikel] t1
  inner join dbo.XDateien t2 on t1.BilderID = xdateienid inner join dbo.dateien t3 on t2.DateienID = t3.DateienID  inner join dbo.K_ArtikelLeergut t4 on t1.ArtikelID = t4.K_Artikelid where t1.ArtikelNummer = '1458'  order by t1.artikelid

Das Problem ist aber das der join in ArtikelLeergut mehrere Werte hat. Ich möchte aber den Select so ausführen, das ich nur eine Zeile zurück bekomme, die Ergebnisse der Spalte K_ArtikelLeergut sollen in einen Tuple zusammengefasst werden.

Kann mir da jemand helfen?

Re: SQL Syntax Werte in Tuple zusammenfassen

Verfasst: Dienstag 8. Februar 2022, 09:30
von __deets__
Das geht mit SQL meines Wissens nach nicht, weil es keine Listentypen oder Ähnliches als spalten kennt. Du musst die Daten dann selbst nochmal gruppieren.

Re: SQL Syntax Werte in Tuple zusammenfassen

Verfasst: Dienstag 8. Februar 2022, 11:31
von Sirius3
@__deets__: manche SQL-Datenbanken können das, array_agg oder listagg oder irgendwas mit ´with recursive`.

@cbesi: Du brauchst dafür mehrere Abfragen, eine für die ArtikelID, und dann jeweils eine, um für jede ArtikelID dein Leergut abzufragen. Mit einem ORM wie SQLalchemy kann man das ganz transparent machen, so dass Du von den Abfragen gar nichts mitbekommst.