Hallo,
ich stehe zur Zeit vor einem Problem, welches ich seit Tagen nicht lösen kann.
Ich habe eine Telefonanlage, in welcher jeder Anruf eingetragen wird. Diese Anrufe sollen gezählt werden und die Anzahl der Anrufe pro Tag ausgegeben. Leider gibt es Tage, an denen es 0 Anrufe gab und somit hat die Datenbank keine Einträge an dem Tag. Wie stelle ich es an, diesen Tag trotzdem anzuzeigen?
Habe versucht eine Tabelle zu inner joinen, welche als Kalender diente und jeden Tag des Monats beinhaltete.
Habe es mit ISNULL an verschiedenen Stellen probiert.
Habe es mit case when an verschiedenen Stellen probiert.
Habe einfach keine Idee mehr.
Hier die Abfrage (Nur ein kleiner Teil des Originals)
[highlight= sql]SELECT q.Datum,
angebotene AS Empfangen
FROM
(SELECT
CONVERT(date, callstart2, 104) as Datum,
SUM(CASE WHEN calltypekey > 0 THEN 1 ELSE 0 END) AS [angebotene]
FROM
(SELECT *, DATEADD(minute, sitetzoffset, callstart) AS callstart2
FROM dbo.callrecord) AS w
WHERE
(YEAR(callstart2) = YEAR(GETDATE()))
and (MONTH(callstart2) = MONTH(GETDATE()))
and (origdestination = '4951254952368')
GROUP BY CONVERT(date, callstart2, 104)) AS q
order by Datum[/highlight]
Hier das Ergebnis. Dort fehlt z.B. der 20.09.2014. Soll aber erscheinen und zwar mit 0 unter Empfangen
ergebnis.jpg
Vielen Dank
Schöne Grüße
ich stehe zur Zeit vor einem Problem, welches ich seit Tagen nicht lösen kann.
Ich habe eine Telefonanlage, in welcher jeder Anruf eingetragen wird. Diese Anrufe sollen gezählt werden und die Anzahl der Anrufe pro Tag ausgegeben. Leider gibt es Tage, an denen es 0 Anrufe gab und somit hat die Datenbank keine Einträge an dem Tag. Wie stelle ich es an, diesen Tag trotzdem anzuzeigen?
Habe versucht eine Tabelle zu inner joinen, welche als Kalender diente und jeden Tag des Monats beinhaltete.
Habe es mit ISNULL an verschiedenen Stellen probiert.
Habe es mit case when an verschiedenen Stellen probiert.
Habe einfach keine Idee mehr.
Hier die Abfrage (Nur ein kleiner Teil des Originals)
[highlight= sql]SELECT q.Datum,
angebotene AS Empfangen
FROM
(SELECT
CONVERT(date, callstart2, 104) as Datum,
SUM(CASE WHEN calltypekey > 0 THEN 1 ELSE 0 END) AS [angebotene]
FROM
(SELECT *, DATEADD(minute, sitetzoffset, callstart) AS callstart2
FROM dbo.callrecord) AS w
WHERE
(YEAR(callstart2) = YEAR(GETDATE()))
and (MONTH(callstart2) = MONTH(GETDATE()))
and (origdestination = '4951254952368')
GROUP BY CONVERT(date, callstart2, 104)) AS q
order by Datum[/highlight]
Hier das Ergebnis. Dort fehlt z.B. der 20.09.2014. Soll aber erscheinen und zwar mit 0 unter Empfangen
ergebnis.jpg
Vielen Dank
Schöne Grüße
Comment