在条件检查时,postgresql子查询包含太多列

时间:2017-02-01 06:50:03

标签: postgresql

这是我的问题:

SELECT * FROM table1
WHERE col1 IN (SELECT cola, colb, colc, cold FROM table2)

其中所有col都是数据类型integer。当我执行此查询时,我得到"子查询包含太多列"。什么是正确的方法呢?

1 个答案:

答案 0 :(得分:1)

SELECT * FROM table1
WHERE col1 = ANY (
                    (SELECT array_agg(ARRAY[cola, colb, colc, cold])
                        FROM a
                    )::integer[]
                 );