我尝试创建一个查询,其中结果可以来自两个不同的表,具体取决于第一个表的大小。 甚至可能有类似的东西吗?
SELECT
CASE WHEN COUNT(table1.column1) > 5
THEN
column1,
column2,
column3
FROM table1
ELSE
column1,
column2,
column3
FROM table2
END
使用此代码,我得到了类似的结果:
ERROR: syntax error at or near ","
LINE 4: column1,
答案 0 :(得分:4)
with c (c) as (select count(c1) from t)
select c1, c2, c3
from t
where (select c from c) > 5
union all
select c1, c2, c3
from r
where (select c from c) <= 5
相应的列必须属于同一类型。或者换成相同的类型。