Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

 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 von sebeq8510

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 von evgnb

  • 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...

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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.