Information aus zwei verknüpften Zeilen

rokol

Neuer Benutzer
Beiträge
1
Hallo,

ich habe folgendes Problem:

Ich möchte eine Abfrage aller Bestellungen machen und die Anzahl bzw. den Gesamtumsatz herausfinden, der mit einem Artikel gemacht wurde.
Dabei muss aber auch ein eventueller Gutschein mit einbezogen werden.
Dieser ist als Zeile in der gleichen Tabelle dargestellt, wie die anderen Positionen der Bestellung.

Die Abfrage sollte also ungefähr so aussehen:

Liste alle Spalten auf, in denen der entsprechende Artikel "X" enthalten ist.
Überprüfe anhand der Bestellnummer, ob es unter der gleichen Bestellnummer auch eine Position enthalten ist, die den Gutschein "Y" enthält.

Ist das irgendwie umsetzbar?

Vielen Dank schonmal.

Viele Grüße
Robin
 
Werbung:
Du kannst ein Select machen auf alle Bestellnr, die den Gutschein dabei haben.
Das joinst Du mit dem Aggregat der des Umsatzes und der Anzahl der Artikelbestellungen.

Der Gedanke bei dem Vorgehen: Das Select auf den Gutschein dürfte die kleinste Menge bilden, die Du selektieren kannst. Ergibt eine gute Performance. Diese Menge nimmst Du als Einschränkung für die Aggregation.

z.B.
Code:
Select count(A.Artikelnr), Sum(A.Preis*A.Anzahl) from
  (Select Bestellnr from bestellungen where Artikel = 'Gutschein') G
  join
  (Select Bestellnr, ArtikelNr, Preis, Anzahl  from bestellungen where ArtikelID = <gesuchteArtikelNr>) A
  on G.Bestellnr = A.Bestellnr

Ansonsten:
Wenn Du etwas konkreter mit Deinen Tabellenstrukturen wirst, sprich ein Create Statement der Tabelle lieferst, Daten, .. kann man auch konkreter antworten.
 
Zurück
Oben