首页 > 解决方案 > 如何从多个表中找出不匹配 SQL 中特定条件的结果?

问题描述

我有 3 张桌子:

在此处输入图像描述

个人表存储以 ID 作为主键的基本个人信息 这个人可以有关系(父亲/母亲等),这些关系保存在关系表中,但是他们的用户是在个人表中创建的(例如 ID = 2,3 个人表),这样我们知道2,3与用户1(携带)有关。我们还有第三个表 - 地址,它存储用户 ID 明智的地址。(对于用户和他的相关人员,他们也是用户)我想在 SQL 中找出用户或他的相关用户的地址是否存在. 如何做到这一点?

标签: mysqlsqljoin

解决方案


询问:

 select p.id,p.username,(case when a.userid is null then 'No' else 'Yes'end) IsAddressAvailable
 from Person p
 left  join Address a on p.id=a.Userid 

输出:

ID 用户名 是地址可用
1 携带 是的
2 携带父亲
3 携带妈妈 是的

db<小提琴在这里


推荐阅读