Hej,
jag har följande taballer..
// usertable
ID | username
______|__________
1 | user1
2 | user2
3 | user3
// gemstable
ID | won | lost | userID | onDate
__|__|__|__|___
1 | 3 | 1 | 1 | 2005-04-22
2 | 1 | 2 | 1 | 2001-11-02
3 | 6 | 4 | 2 | 2002-01-16
4 | 1 | 2 | 1 | 2006-01-12
Om jag gör en
SELECT usertable.username as userName, SUM(gemstable.won) AS wonSum, SUM(gemstable.lost) AS lostSum FROM usertable LEFT JOIN gemstable ON usertable.ID=gemstable.userID GROUP BY usertable.ID
Ger mig svaret:
userName | wonSum | lostSum
__________|___|__
user1 | 5 | 5
user2 | 6 | 4
user3 | NULL | NULL
Om jag gör en:
SELECT usertable.username as userName, SUM(gemstable.won) AS wonSum, SUM(gemstable.lost) AS lostSum FROM usertable LEFT JOIN gemstable ON usertable.ID=gemstable.userID WHERE gemstable.onDate<='2002-01-31' AND gemstable.onDate>='2002-01-01' GROUP BY usertable.ID
dvs lägger till WHERE biten får jag svaret:
userName | wonSum | lostSum
__________|___|__
user2 | 6 | 4
fast vad jag skulle vilja ha är:
userName | wonSum | lostSum
__________|___|__
user1 | NULL | NULL
user2 | 6 | 4
user3 | NULL | NULL
dvs att jag får ALLTID får allt från 'usertable' men summeringen av 'lost' och 'won' sker bara över det givna tids-spannet...
Någon som kan denna sql fråga?
Tacksam för svar.
-- R