我正在尝试使用我的两个表之间的 LEFT OUTER JOIN 来获取 SQL 查询以返回 NULL 值。
一个表包含用户信息,另一个包含点名信息。本质上,我正在尝试生成一个 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