Select Abfrage auf 3 Tabellen

23/07/2008 - 18:28 von dron13 | Report spam
Hallo Leute,

ich brauche Ihre Hilfe. Bin ganz neu in SQL-Umfeld.

Es gibt drei Tabellen: Debitor, Rechnung, Gutschrift.
Ich möchte alle Rechnungen und alle Gutschriften zu einem Debitor ausgeben.

Die Abfrage
SELECT DB.Nr, RG.Nr FROM DEBITOR AS DB
INNER JOIN RECHNUNG AS RG ON DB.Nr = RG.ZahlungAnDebNr
WHERE DB.Nr = '18015'
gibt 3 Zeilen (Rechnungen) aus:
DB.Nr RG.Nr
18015 00010
18015 00025
18015 00140

Die Abfrage
SELECT DB.Nr, GU.Nr FROM DEBITOR AS DB
INNER JOIN GUTSCHRIFT AS GU ON DB.Nr = GU.ZahlungAnDebNr
WHERE DB.Nr = '18015'
gibt 3 Zeilen (Gutschriften) aus:
DB.Nr GU.Nr
18015 00215
18015 00320
18015 00356

Und die Abfrage
SELECT DB.Nr, RG.Nr FROM DEBITOR AS DB
INNER JOIN RECHNUNG AS RG ON DB.Nr = RG.ZahlungAnDebNr
INNER JOIN GUTSCHRIFT AS GU ON DB.Nr = GU.ZahlungAnDebNr
WHERE DB.Nr = '18015'

gibt 9 Zeilen aus (3 * 3) :

DB.Nr RG.Nr GU.Nr
18015 00010 00215
18015 00010 00320
18015 00010 00356
18015 00025 00215
18015 00025 00320
18015 00025 00356
18015 00140 00215
18015 00140 00320
18015 00140 00356

Wie kann ich folgende Ausgabe mit 6 (3 + 3) Zeilen erreichen???
DB.Nr RG.Nr GU.Nr
18015 00010
18015 00025
18015 00140
18015 00215
18015 00320
18015 00356

Vielen Dank für Ihre Hilfe.
 

Lesen sie die antworten

#1 Elmar Boye
23/07/2008 - 20:41 | Warnen spam
dron13 schrieb:
ich brauche Ihre Hilfe. Bin ganz neu in SQL-Umfeld.

Es gibt drei Tabellen: Debitor, Rechnung, Gutschrift.
Ich möchte alle Rechnungen und alle Gutschriften zu einem Debitor ausgeben.

Die Abfrage
SELECT DB.Nr, RG.Nr FROM DEBITOR AS DB
INNER JOIN RECHNUNG AS RG ON DB.Nr = RG.ZahlungAnDebNr
WHERE DB.Nr = '18015'
gibt 3 Zeilen (Rechnungen) aus:
DB.Nr RG.Nr
18015 00010
18015 00025
18015 00140

Die Abfrage
SELECT DB.Nr, GU.Nr FROM DEBITOR AS DB
INNER JOIN GUTSCHRIFT AS GU ON DB.Nr = GU.ZahlungAnDebNr
WHERE DB.Nr = '18015'
gibt 3 Zeilen (Gutschriften) aus:
DB.Nr GU.Nr
18015 00215
18015 00320
18015 00356

Und die Abfrage
SELECT DB.Nr, RG.Nr FROM DEBITOR AS DB
INNER JOIN RECHNUNG AS RG ON DB.Nr = RG.ZahlungAnDebNr
INNER JOIN GUTSCHRIFT AS GU ON DB.Nr = GU.ZahlungAnDebNr
WHERE DB.Nr = '18015'

gibt 9 Zeilen aus (3 * 3) :

DB.Nr RG.Nr GU.Nr
18015 00010 00215
18015 00010 00320
18015 00010 00356
18015 00025 00215
18015 00025 00320
18015 00025 00356
18015 00140 00215
18015 00140 00320
18015 00140 00356

Wie kann ich folgende Ausgabe mit 6 (3 + 3) Zeilen erreichen???
DB.Nr RG.Nr GU.Nr
18015 00010
18015 00025
18015 00140
18015 00215
18015 00320
18015 00356




das wàre dann
SELECT DB.Nr, RG.Nr AS [RGNr, NULL AS [GuNr]
FROM DEBITOR AS DB
INNER JOIN RECHNUNG AS RG ON DB.Nr = RG.ZahlungAnDebNr
WHERE DB.Nr = '18015'

UNION ALL

SELECT DB.Nr, NULL, GU.Nr
FROM DEBITOR AS DB
INNER JOIN GUTSCHRIFT AS GU ON DB.Nr = GU.ZahlungAnDebNr
WHERE DB.Nr = '18015'

Gruß Elmar

Ähnliche fragen