是否可以在IN子句中包含多个字段?像下面这样的东西?
select * from data
where id1, id2 in (select id from dataset)
我希望查询在数据集中的id字段中出现id1和/或id2字段的数据中返回这些情况。
我正在使用postgresql。
答案 0 :(得分:3)
如何将它转换为JOIN
,因为你看起来这样的功能不存在?
select a.*
from data a INNER JOIN dataset b
ON a.id1 = b.id OR a.id2 = b.id
答案 1 :(得分:2)
试试这个,
select *
from data
where exists (select id
from dataset
where id = id1
OR id = id2
...
OR id = id5)
答案 2 :(得分:0)
如果您有五个ID并且您知道它们是不同的,那么您可以这样做。 select ... from data where 5=(select count(*) from dataset where id in (id1, id2, ... id5))