我正在尝试创建 JOIN 一些表。这个想法是显示选定的 0 0r 1.name 相同的名称。如果不是,值应该为 NULL 或 0,否则为 1。
示例数据
表 1
ID NAME
------------
1 Zebra
2 Monkey
3 Lion
4 Rabbit
表 2
ID ID_table1 Name_table1
--------------------------
1 1 ZEBRA
2 3 Lion
3 3 Lion
4 1 Zebra
5 2 Monkey
6 3 Lion
7 4 Rabbit
如果我加入表并从表 2 中选择值,其中 Id 为 2
结果
ID NAME Selected
---------------------
1 Zebra 0
2 Monkey 0
3 Lion 1
4 Rabbit 0
最佳答案
需要使用LEFT JOIN
和CASE
SELECT T1.ID, NAME , case when T2.ID_Table1 is null then 0 else 1 end as value
FROM
Table1 T1
LEFT JOIN( select ID_table1
FROM Table2
where ID =2
) T2
on T1.ID = T2.ID_table1
关于MySQL JOIN 表返回 NULL 或 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26351537/