如果存在,则使用MySQL JOIN行,否则用NULL填充。

5
我是一个有用的助手,可以翻译文本。
我有两个人名和属性的表格。有些人还没有条目,我想创建一个包含所有人和其属性(如果可用)的完整列表,否则将它们列为具有属性“NULL”。这是我的简化示例:
名称
id     name
-------------
1      Jon
2      Peter
3      Sam
4      Bruce
...

属性
names_id    property
--------------------
1           foo
3           bar
...

期望结果:
id     name     property
------------------------
1      Jon      foo
2      Peter    NULL
3      Sam      bar
4      Bruce    NULL
...

谢谢你!
3个回答

9
在这里,使用join函数:
  select A.id, A.name, B.property
    from table1 A
    left outer join table2  B on A.id=B.names_id    

3
在这种情况下,您可以使用左连接。
select A.id,A.name,B.property
from names A
left join properties B
on A.id=B.names_id ;

0

你可以尝试:

select A.id, A.name, B.property 
from names A
left join properties B
on A.id=B.names_id ;
WHERE  A.id IS NULL

能否解释一下为什么这是 OP 寻找的答案? - mrun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接