两张桌子:
table1
id | name
1 | aaa
2 | bbb
3 | ccc
table2
id | param
1 | x
1 | z
2 | x
table1.id = table2.id
我需要选择table1中的所有内容,使用字段param
(如果有,则为1,如果为,则为0,或者为null),给定param
。
例如,param
“x”:
result:
id | name | param
1 | aaa | 1
2 | bbb | 1
3 | ccc | 0
我所能做的只是:
SELECT table1.id, table1.name, table2.param
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
WHERE table2.param = 'x'
但它没有选择所有table1
这项任务的正确查询是什么?
答案 0 :(得分:1)
您正在加入后应用过滤器。试试这个:
SELECT table1.id, table1.name, table2.param
FROM table1
LEFT JOIN table2 ON table1.id = table2.id and table2.param='x'