我有用户表,级别表和users_levels表。
假设有10个级别。我想加载游戏页面中的所有10个级别。假设用户只玩了5个等级,我希望得到这5个等级。
level_id user_score
1 100
2 200
3 NULL
4 NULL
5 NULL
..
对于此输出,users_levels将只为用户提供两个数据。我尝试了OUTER JOIN但是当我添加user_id =?时,它什么也没有返回。
SELECT *
FROM levels
LEFT OUTER JOIN users_levels ON level_id = FK_level_id
WHERE user_id =1
LIMIT 0 , 30
答案 0 :(得分:0)
将user_id = 1
移动到连接条件中。
SELECT *
FROM levels
LEFT OUTER JOIN users_levels ON level_id = FK_level_id AND user_id = 1
LIMIT 0 , 30
使用where
限制联接表中的数据会将outer
联接转换为inner
联接。