我試圖讓我的兩個表之間使用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