1
我有[Users]
表,简化了这个例子:即使JOINed表中没有相应的记录,我如何从一个表中获取所有记录?
uID | uName | uSalesRep
----+-------+----------
1 | John | 1
2 | Bob | 1
3 | Fred | 1
4 | Stu | 1
和销售的[Activity]
表:
aID | aDate | aUserID | aText
----+------------+---------+---------------
1 | 2013-10-09 | 1 | John did stuff
2 | 2013-10-14 | 2 | Bob did stuff
3 | 2013-10-17 | 3 | Fred did stuff
我想要得到的所有销售代表清单,连同他们的活动为2013年10月14日开始的一周,以下是我想要做的事情:
SELECT uID, Name, aID, aDate, aText
FROM [Users]
LEFT JOIN [Activity] ON uID = UserID
WHERE (aDate >= '2013-10-14' OR aDate = NULL)
AND (aDate <= '2013-10-18' OR aDate = NULL)
AND uSalesRep = 1
我用LEFT JOIN
希望检索所有代表,但我认为这被aDate
要求所覆盖。包括aDate = NULL
包括没有活动的代表,但是具有超出指定范围活动的代表将被省略。
我怎样才能让所有代表至少一次,不管他们记录的任何活动?
谢谢你的时间。
我不知道进一步的情况可以适用于'JOIN's。谢谢。 – Kalessin