Daten aus 2 Datensätzen in einem ausgeben

jupp hintz

Grünschnabel
Hallo Leute,

ich bin SQL-Anfänger und wäre dankbar für eure Hilfe bei der Erstellung folgender SQL-Abfrage:

Ich habe eine Tabelle namens Beleg mit folgenden Spalten:

Belegnummer; Belegtyp; Bezeichnung; Datum; Vertreter
R1; R; Rechnung; 01.01.2008; 1
R2; R; Rechnung; 01.01.2008; 2
G3; G; Gutschrift; 02.01.2008; 1
T1; T; Teilrechnung; 03.01.2008; 3
K1; K; Kassenbeleg; 04.01.2008; 1


Diese Tabelle soll wie folgt mittels SQL aus der oben dargestellten SQL-dB dargestellt werden:

Rechnungsnr;Belegtyp; Bezeichnung; Datum; Vertreter;Gutschrift
R1; R; Rechnung; 01.01.2008; 1; -
R2; R; Rechnung; 01.01.2008; 2; G3


Es sollen nur rechnungen dargestellt werden und dazugehörige Gutschriften. Es sollen aber auch die Rechnungen angezeigt werden, die ohne Gutschrift sind.

Mein jetziger Code zeigt mir nur die Rechnungen mit Gutschrift, jedoch möchte ich alles sehen. Dieser sieht wie folgt aus:

-------------------------------------------------
select distinct(b.Belegnummer) as Rechnung, p.belegnummer as Gutschrift
from belegp b left outer join belegp p on (b.kennung = p.vorgaenger)
where p.belegtyp = 'G' and b.belegtyp = 'R'
----------------------------------------------------


Könntet ihr mir helfen diesen Code anzupassen, sodass es passt


Lieben Dank für eure Hilfe.

JUPP
 
Da wirst du wohl um ein Subselct nicht herumkommen.
Also so ähnlich wie:
Code:
SELECT * from (SELECT * from belegp b where b.belegtyp = 'R') LEFT JOIN (SELECT * from belegp p where p.belegtyp = 'G') on (b.kennung = p.vorgaenger)
 
Zurück