加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在postgresql中对同一数据使用多个列的IN子句?

发布时间:2020-12-13 16:00:23 所属栏目:百科 来源:网络整理
导读:我有这样的查询: SELECT c1 from t WHERE c2 IN list1 AND c3 IN list1; 我想结合这个查询得到这样的东西: SELECT c1 from t WHERE c2 AND c3 IN list1; 解决方法 您可以使用数组和 the operator @ (is contained by),例如: with my_table(name1,name2) a
我有这样的查询:

SELECT c1 from t WHERE c2 IN list1 AND c3 IN list1;

我想结合这个查询得到这样的东西:

SELECT c1 from t WHERE c2 AND c3 IN list1;

解决方法

您可以使用数组和 the operator <@ (is contained by),例如:

with my_table(name1,name2) as (
values ('Emily','Bob'),('Ben','Jack'),('Emily','James')
)

select *
from my_table
where array[name1,name2] <@ array['Emily','Jack','James','Chloe'];

 name1 | name2 
-------+-------
 Emily | James
(1 row)

另见:How to use same list twice in WHERE clause?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读