有没有一种方法可以使其正常工作?
SELECT
*
FROM table t
INNER JOIN othertable t2 USING (tid)
WHERE
t.tid =
CASE
WHEN t2.someboolval THEN ANY(ARRAY[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])
ELSE ANY(ARRAY[77,66])
END
很遗憾,我不能只是简单地执行 t.tid = CASE WHEN t2.someboolval THEN 1 ELSE 2 END
,因为我需要与一个数组进行匹配。这可行吗?