Hallo,
ich hoffe ihr könnt mir helfen.
Wenn ich eine Tabelle die keine fortlaufende Datumsspalte besitzt um eine "anreichere" mittels Right Outer Join, dann sollten doch alle Datumsfelder meiner Datumstabelle erscheinen. Aus irgendeinen Grund funktioniert das nicht und ich sehe nicht an welcher Stelle ich das unterbunden habe.
Hier mein Code.
Soweit ich es richtig in Erinnerung habe, filtert SQL erst die Daten nach den Where Bedingungen ehe die Right Outer Join Verbindung greift. Da ich ihm zudem sage das dass Datum nur bis zum heutigen Tag gehen soll. Hätte ich nun 856 Zeilen erwartet. Es kommt aber nur die 353 aus der ACDOCA. Warum?
ich hoffe ihr könnt mir helfen.
Wenn ich eine Tabelle die keine fortlaufende Datumsspalte besitzt um eine "anreichere" mittels Right Outer Join, dann sollten doch alle Datumsfelder meiner Datumstabelle erscheinen. Aus irgendeinen Grund funktioniert das nicht und ich sehe nicht an welcher Stelle ich das unterbunden habe.
Hier mein Code.
Code:
SELECT
dbo.v_ACDOCA.Kontonummer
,dbo.v_ACDOCA.[Wert in Hauswährung]
,dbo.v_ACDOCA.Materialnummer
,dbo.v_ACDOCA.Geschäftsjahr
,CASE WHEN Buchungsdatum = '20560131' THEN CONCAT(Year(GetDate())-2,'0101') ELSE Buchungsdatum END AS Buchungsdatum
,CASE WHEN dbo.v_ACDOCA.Werk = '' THEN '1010' ELSE Werk END AS Werk
,dbo.v_SQL_Datum.Style112
FROM dbo.v_ACDOCA
RIGHT OUTER JOIN
dbo.v_SQL_Datum
ON dbo.v_ACDOCA.BUDAT = dbo.v_SQL_Datum.Style112
WHERE Kontonummer like '%13600000'
AND (Belegart <> '' OR (Buchungsdatum = '20560131' AND Geschäftsjahr=Year(GetDate())-2))
AND Materialnummer like '%5408'
AND (Style112 >= '20210101' AND Style112 <= GetDate())
Soweit ich es richtig in Erinnerung habe, filtert SQL erst die Daten nach den Where Bedingungen ehe die Right Outer Join Verbindung greift. Da ich ihm zudem sage das dass Datum nur bis zum heutigen Tag gehen soll. Hätte ich nun 856 Zeilen erwartet. Es kommt aber nur die 353 aus der ACDOCA. Warum?