Hallo aller seits
ich habe ein Kalender und eine Abfrage die nur bestimmte Tagen ein Eintrag beinhalten, Ich will mir alle Tagen zurück geben und wenn es kein Eintrag an dem Tag existiert dann halt eine 0...
Ich habe es mit eine temp Tabelle gelöst,
Aber ich suche nach eine andere alternative so dass ich die ganze Abfrage nur mit einen select lösen kann.
villeicht habt ihr andere Lösungen
Danke für eure Hilfe
Temp Lösung
ich habe ein Kalender und eine Abfrage die nur bestimmte Tagen ein Eintrag beinhalten, Ich will mir alle Tagen zurück geben und wenn es kein Eintrag an dem Tag existiert dann halt eine 0...
Ich habe es mit eine temp Tabelle gelöst,
Aber ich suche nach eine andere alternative so dass ich die ganze Abfrage nur mit einen select lösen kann.
villeicht habt ihr andere Lösungen
Danke für eure Hilfe
Temp Lösung
Code:
with temp as( select convert(varchar, gut.Syscdat, 112) as Datum, SUM(CASE WHEN gut.Typ = 'G' THEN pos.Menge ELSE 0 END)as SUMME_G_MENGE, SUM(CASE WHEN gut.Typ = 'GS' THEN pos.Menge ELSE 0 END)as SUMME_GS_MENGE from dbo.GUTSCHRIFT gut JOIN dbo.GS_POS pos ON gut.GNR = pos.GNR where pos.artikel = '33333' group by convert(varchar, gut.Syscdat, 112) --order by convert(varchar, gut.Syscdat, 112) ) select k.datum, isnull(b.Datum, convert(varchar, k.datum, 112)), isnull(b.Summe_G_MENGE, 0), isnull(b.Summe_GS_Menge, 0) from dbo.portal_kalender k left Outer Join temp b ON cast(convert(varchar, k.datum, 112) as int) = b.Datum WHERE k.datum >= convert(datetime, '01.01.2007', 104) and k.datum < getdate() order by k.datum