这是我的问题:
SELECT * FROM table1
WHERE col1 IN (SELECT cola, colb, colc, cold FROM table2)
其中所有col都是数据类型integer
。当我执行此查询时,我得到"子查询包含太多列"。什么是正确的方法呢?
答案 0 :(得分:1)
SELECT * FROM table1
WHERE col1 = ANY (
(SELECT array_agg(ARRAY[cola, colb, colc, cold])
FROM a
)::integer[]
);