如何在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? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |