Hallå!
Jag lyckas inte få min left join att fungera som jag vill.
Jag har två tabeller: en med en drös datum och en med en massa statistik.
Det jag vill göra är att summera antal rader i statistiktabellen per dag.
Jag har löst det såhär:
Dates:
ID Date
1 2007-11-15
2 2007-11-16
3 2007-11-17
osv...
Cache
ID Date
1 2007-11-15 15:14:33
2 2007-11-15 23:22:22
3 2007-11-17 12:23:34
4 2007-11-18 15:33:12
osv...
SELECT Dates.Date, count( * ) AS Count
FROM Dates
LEFT OUTER JOIN Cache ON Dates.Date = left( Cache.Date, 10 )
WHERE Cache.Hit = 'u'
AND Cache.Ref = 'aac'
AND Dates.Date >= '2007-10-01'
AND Dates.Date <= '2007-11-31'
GROUP BY Dates.Date
Vilket ger detta resultat:
Date Count
2007-10-29 396
2007-10-30 1107
2007-11-02 877
2007-11-03 653
Problemet är att den hoppar över de datum som den inte hittar några rader för. Jag vill att det ska se ut såhär:
Date Count
2007-10-29 396
2007-10-30 1107
2007-10-31 0
2007-11-01 0
2007-11-02 877
2007-11-03 653
En left join borde ju ta med Alla rader i den vänstra tabellen, alltså datumen men det gör den ju uppenbarligen inte...
Tacksam för svar!