所有参数化帖子的联合



我想在postgres做这样的事情

select * from table t where t.one = 11 AND t.two = 12 and t.three = 13
union all
select * from table t where t.one = 21 AND t.two = 22 and t.three = 23

我尝试了join lateralinner join,但性能太差了。所以我需要union all这些查询,但我不想只是连接这些值的无限量,对于 postgres,有没有类似这些 https://stackoverflow.com/a/55484168/1321514

我认为根本不需要 UNION。而且我不明白 JOIN 在这里会有什么帮助

您的查询等效于:

select * 
from table t 
where (t.one,t.two,t.three) in ( (11,12,13), (21,22,23) );

或者,您可以尝试加入 VALUES 子句:

select t.* 
from table t 
join (
values (11,12,13), (21,22,23) 
) as x(c1,c2,c3) on t.one = x.c1 
and t.two = x.c2
and t.three = x.c3;

相关内容

  • 没有找到相关文章

最新更新