我试图让我的两个表之间使用LEFT OUTER JOIN返回NULL值的SQL查询。使用外部连接返回多个空值
一个表格包含用户信息,另一个表格包含唱名信息。基本上,我试图生成一个HTML表格来显示是否有人为每个月签署了名单。如果该值为NULL,则表示它们在该名单时不是成员。
我现在遇到的问题是查询将只返回一个NULL值,即使它们不是一个以上的有线电话的成员。下面是我使用该用户不超过一个点名的成员查询:
SELECT m.userid, r.status, r.rollcallid
FROM fleetmgr_members AS m
LEFT OUTER JOIN fleetmgr_rollcall_log AS r
ON m.userid = r.userid AND r.rollcallid IN(1, 5)
WHERE m.userid = 2089
ORDER BY m.currentName, r.rollcallid;
该查询将返回:
userid status rollcallid
2089 NULL NULL
我想它返回:
userid status rollcallid
2089 NULL 1
2089 NULL 5
出于某种奇怪的原因,实现我想要它返回的东西已经让我非常难过 - 所以先感谢您提供的任何帮助。
fleetmgr_rollcall_log表:
id rollcallid userid date_signed status activity comments
2 1 652 1330563886 signed 6-8 hrs/week -
29 1 2462 1330565521 signed 9-11 hrs/week -
1823 5 731 1333300321 signed 0-2 hrs/week -
2293 5 166 1333901983 exempt 0-2 hrs/week -
fleetmgr_members表:
id userid currentName
1 3 SomeUsername
2 5 DifferentUsername
你有没有列出所有rollcalls的表? – ESG 2012-04-14 04:51:45