Hallo zusammen,
folgende Konstellation, an der ich mir schon seit Tagen den Kopf zerbreche:
Table PMSPROJEKTE
beinhaltet alle Projekte
Table PMSOBJEKTORDNER
beinhaltet alle dazugehörigen "Vorgänge" (Angebote, Rechnungen, Bestätigungen, etc)
Zu jedem Vorgang kann es mehrere Zahlungen und Rechnungen geben, die ID steht im PMSOBJEKTORDNER
Table VORGZAHLUNGEN
beinhaltet alle Zahlungen
Table VORGRECHNUNGEN
beinhaltet alle Rechnungen
Mein Ziel ist, dass ich in einem select alle Zahlungen und Rechnungen bekomme, aber ohne eine Wiederholung von Zeilen. Hier ist mein Abfrage inkl. Ausgabe:
hat jemand eine Idee, wie ich SQL dazu bringe, dass keine doppelten Zeilen ausgegeben werden (siehe Anhang), bzw. diese Zellen leer bleiben?
folgende Konstellation, an der ich mir schon seit Tagen den Kopf zerbreche:
Table PMSPROJEKTE
beinhaltet alle Projekte
Table PMSOBJEKTORDNER
beinhaltet alle dazugehörigen "Vorgänge" (Angebote, Rechnungen, Bestätigungen, etc)
Zu jedem Vorgang kann es mehrere Zahlungen und Rechnungen geben, die ID steht im PMSOBJEKTORDNER
Table VORGZAHLUNGEN
beinhaltet alle Zahlungen
Table VORGRECHNUNGEN
beinhaltet alle Rechnungen
Mein Ziel ist, dass ich in einem select alle Zahlungen und Rechnungen bekomme, aber ohne eine Wiederholung von Zeilen. Hier ist mein Abfrage inkl. Ausgabe:
Code:
SELECT
PMSPROJEKTE.PROJEKTNR
,PMSPROJEKTE.BEZEICHNUNG AS [PMSPROJEKTE BEZEICHNUNG]
,PMSPROJEKTE.KURZNAME
,PMSSTATUS.BEZEICHNUNG AS [PMSSTATUS BEZEICHNUNG]
,PMSOBJEKTORDNER.OBJEKTNR
,PMSOBJEKTORDNER.OBJEKTKZ
,VORGRECHNUNG.BELEGNR AS [VORGRECHNUNG BELEGNR]
,VORGRECHNUNG.DATUM AS [VORGRECHNUNG DATUM]
,VORGRECHNUNG.NETTO AS [VORGRECHNUNG NETTO]
,VORGRECHNUNG.STEUER AS [VORGRECHNUNG STEUER]
,VORGRECHNUNG.BEMERKUNG AS [VORGRECHNUNG BEMERKUNG]
,VORGZAHLUNG.BELEGNR AS [VORGZAHLUNG BELEGNR]
,VORGZAHLUNG.DATUM AS [VORGZAHLUNG DATUM]
,VORGZAHLUNG.NETTO AS [VORGZAHLUNG NETTO]
,VORGZAHLUNG.STEUER AS [VORGZAHLUNG STEUER]
,VORGZAHLUNG.BEMERKUNG AS [VORGZAHLUNG BEMERKUNG]
FROM
PMSPROJEKTE
LEFT OUTER JOIN PMSSTATUS
ON PMSPROJEKTE.ROWSTATUS = PMSSTATUS.ROWSTATUS
INNER JOIN PMSOBJEKTORDNER
ON PMSPROJEKTE.ROWPROJEKT = PMSOBJEKTORDNER.ROWPROJEKT
LEFT OUTER JOIN VORGRECHNUNG
ON PMSOBJEKTORDNER.OBJEKTNR = VORGRECHNUNG.ROWVORGANG
LEFT OUTER JOIN VORGANG
ON PMSPROJEKTE.ROWVORGMASTER = VORGANG.ROWVORGANG
LEFT OUTER JOIN VORGZAHLUNG
ON PMSOBJEKTORDNER.OBJEKTNR = VORGZAHLUNG.ROWVORGANG
WHERE
PMSOBJEKTORDNER.OBJEKTKZ = N'VOR'
hat jemand eine Idee, wie ich SQL dazu bringe, dass keine doppelten Zeilen ausgegeben werden (siehe Anhang), bzw. diese Zellen leer bleiben?