Sql in子句中有多个字段?

Sql in子句中有多个字段?,sql,postgresql,Sql,Postgresql,是否可以在in子句中包含多个字段?像下面这样的 select * from data where id1, id2 in (select id from dataset) 我希望查询返回数据集中id字段中出现id1和/或id2字段的情况 我正在使用postgresql。既然您正在查找的函数不存在,那么将其转换为JOIN如何 select a.* from data a INNER JOIN dataset b ON a.id1 = b.id OR a.id2 = b.id 既然您

是否可以在in子句中包含多个字段?像下面这样的

select * from data
where id1, id2 in (select id from dataset)
我希望查询返回数据集中id字段中出现id1和/或id2字段的情况


我正在使用postgresql。

既然您正在查找的函数不存在,那么将其转换为JOIN如何

select a.* 
from data a INNER JOIN dataset b
    ON a.id1 = b.id OR a.id2 = b.id 

既然您正在查找的函数不存在,那么将其转换为JOIN怎么样

select a.* 
from data a INNER JOIN dataset b
    ON a.id1 = b.id OR a.id2 = b.id 

如果您有五个ID,并且您知道它们是不同的,那么您可以这样做。选择从数据中,其中5=从数据集中选择计数*,其中id位于id1、id2、。。。id5

如果您有五个ID,并且您知道它们是不同的,那么您可以这样做。选择从数据中,其中5=从数据集中选择计数*,其中id位于id1、id2、。。。id5试试这个

select  * 
from    data
where   exists (select  id 
                from    dataset 
                where   id = id1
                    OR  id = id2
                    ...
                    OR  id = id5)
试试这个

select  * 
from    data
where   exists (select  id 
                from    dataset 
                where   id = id1
                    OR  id = id2
                    ...
                    OR  id = id5)

不是你想要的那样。我想你的意思是。。。其中id1位于从中选择id。。。和id2在选择我的来源。。。。真的是这样吗?请解释一下你想要的逻辑。@Misha是的,有没有办法缩短它?我的真实数据包含5个id字段。不是你想要的那样。我想你的意思是。。。其中id1位于从中选择id。。。和id2在选择我的来源。。。。真的是这样吗?请解释一下你想要的逻辑。@Misha是的,有没有办法缩短它?我的真实数据包含5个id字段。