我有以下表中的MySQL:左連接多個表質疑
用戶 輪廓 率
在用戶表,我有如下記載:
id: 1 name: John status: active
在輪廓,我有以下內容:
id: 5 bio: blah blah blah user_id: 1
表格率是空的,但包含以下字段:
id, rate, and user_id
我試圖使用SQL查詢這些表並顯示用戶,其用戶配置文件信息(如果有的話),和他們的利率(如果存在的話)。我使用的SQL如下:
SELECT user.name, profile.bio, rate.rate
FROM user
LEFT JOIN (profile, rate) ON (user.id = profile.user_id AND user.id = rate.user_id)
WHERE status = 'active';
的這裏的問題是,上面的SQL返回user.name數據,但profile.bio爲null即使是在配置表中的匹配記錄的user_id。似乎MySQL如果在費率表中沒有該用戶的匹配記錄,則不會顯示生物數據。
如果我希望SQL顯示用戶的名字以及他們的生物和小時費率(如果任何一個存在),我該如何去做?我有點困惑,因爲我認爲上面的SQL應該工作。
謝謝!