Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.827 Beiträge
 
Delphi 12 Athens
 
#1

SQL join Problem

  Alt 26. Jun 2022, 09:58
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
Hallo,

ich habe gerade ein Problem das passende SQL Statement zusammen zu bekommen.

Gegeben sind diese 3 Tabellen:

1. "Positionen" mit diesen Feldern:
BelegID
ZeileNr
ArtNr

2. "Steuer" mit diesen Feldern:
BelegID
ZeileNr
Brutto

3. "Artikel "
ArtNr
Name

Jetzt will ich für eine gegebene BelegID alle Daten aller Positionen inkl.
deren Steuern und der Artikelnamen möglichst in einem Select abfragen.
Nur: ArtNr. kann auch -1 sein, dann ist kein Artikel vorhanden sondern ein
anderer "Belegvorfall".

Was ich bisher versuchte aber bei Konstellationen mit ArtNr. = -1 keine Daten lieferte:

select Po.BelegID, Po.ZeileNr, St.Brutto, A.Name
from Positionen Po, Steuer St, Artikel A
where (Po.BelegID = 4711) and
(St.BelegID = Po.BelegID) and
(St.ZeileNr = Po.ZeileNr) and
(A.ArtNr = Po.ArtNr)

Nehme ich (A.ArtNr = Po.ArtNr) raus, bekomme ich doppelte Einträge, nehme ich es rein,
bekomme ich für ArtNr = -1 keine Einträge.

Irgendwie muss ich das wohl passend "Joinen", aber wie?

Grüße
TurboMagic
  Mit Zitat antworten Zitat