Announcement

Collapse
No announcement yet.

SQL-Abfrage GROUP BY "Kalender"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL-Abfrage GROUP BY "Kalender"

    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

    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
Working...
X