sql—循环多个表以从table1值中查找匹配项

mbskvtky  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(273)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

10个月前关门了。
改进这个问题
我有4到5个表,它们都可以与表1(id)相关。基于表1“id”列中的值,我想通过表2、3和4循环查找匹配项。一旦找到匹配项,我想从该表中提取另一列。有什么帮助吗?



预期输出(一旦在表2或表3中找到匹配项)

eeq64g8w

eeq64g8w1#

你可以用 exists :

select t1.*
from table1 t1
where 
    exists (select 1 from table2 t2 where t2.id = t1.id)
    or exists (select 1 from table3 t3 where t3.id = t1.id)

如果要显示来自其他表的数据,请使用 left join 而是:

select t1.id, t2.col1, t3.cola
from table1 t1
left join table2 t2 on t2.id = t1.id
left join table3 t3 on t3.id = t1.id
where coalesce(t2.id, t3.id) is not null

相关问题