Veröffentlicht 2. März 20232 j Hallo, Brauche mal eure Unterstützung beim bau eines Statements in einer Oracle Datenbank Ich habe 2 Tabellen Tabelle Kunden ID Kundennummer usw Tabelle Bestellungen ID Kundennummer Bestellnummer Beide Tabellen sind über die Kundennnummer Verknüpft Ich möchte jetzt mir nur für alle Kunden alle Bestellungen in einer Zeile ausgeben. Beispiel Kundennummer | Bestellnummer 1 | Bestellnummer 2 | Bestellnummer 3 | Bestellnummer 4 Wie kann ich das machen? Bearbeitet 2. März 20232 j von sebeq8510
2. März 20232 j es geht schon in richtung innerjoin SELECT bestellnummer,kundennummer FROM tabelle bestellungen INNER JOIN Tabelle Kunden ON Tabelle Kunden.ID = Tabelle Bestellungen .Kundennummer; bitte berichtigen wäre interessant zu wissen wie weit ich falsch liege Bearbeitet 2. März 20232 j von evgnb
2. März 20232 j Autor Habe mittlerweile sowas zusammengeschrieben: Select X1.KUNDENNUMMER AS KDNR, X2.Bestellunmmer AS Bestellunmmer1, X3.Bestellunmmer AS Bestellunmmer2 FROM ((KUNDENNUMMER X1 Inner JOIN Bestellunmmer X2 ON X2.KUNDENNUMMER = X1.KUNDENNUMMER) Inner JOIN Bestellunmmer X3 ON X3.KUNDENNUMMER = X1.KUNDENNUMMER) WHERE ((X1.DEL__STS=0)) AND ((X1.GUELTG_BIS IS NULL)) GROUP BY X1.KUNDENNUMMER, X2.Bestellunmmer1, X3.Bestellunmmer1 Order by X1.KUNDENNUMMER Irgendwo habe ich aber einen Denkfehler...
2. März 20232 j soweit habe ichs verstanden möchtest du alle "bestellungen" für einen kunden ausgeben , ist meine vermutung richtig ?
2. März 20232 j Autor Leider habe ich es falsch geschrieben. Für jeden Kunden soll nur 1 Zeile erzeugt werden, wo die Bestellungen aufgelistet werden
2. März 20232 j ist es überhaupt möglich , soweit ich weiß geht es nur in spalten du müsstes theoretisch für jede bestellung ein feld anlegen in der datenbank Tabelle Bestellungen ID Kundennummer Bestellnummer1 Bestellnummer2 Bestellnummer3 Bestellnummerx
2. März 20232 j Hi, dynamische Spalten sind nicht so gut. Du könntest das mit z.B mit einer Aggregate Funktion LISTAGG machen. Dann gibt es nur 2 Spalten Select kds.Kundennummer, Listagg(Bestellnummer, „,“) from Kundenstamm kds Left join Bestellungen bst on bst.Kundennummer = kds.kundennummer group By kds.kundennummer Ergebnis wäre dann Kundennummer | Bestellnummer1, Bestellnummer2, Bestellnummer3
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.