我想写一个postgres查询,这是与CASE语句。查询如下:Postgres案例查询问题
SELECT "State" AS x, count("Age Group") AS y from test.smp_state_survey where "State" IN
(CASE
WHEN 'State' = 'State' THEN 'State 1'
WHEN 'State' = 'District' THEN 'State 1'
END)
group by x ORDER BY x,y
请告知:
在'State' = 'State'
然而,当我执行下面的查询,我得到相应的结果
SELECT "State" AS x, count("Age Group") AS y from test.smp_state_survey where "State" IN
(CASE
WHEN 'State' = 'State' THEN 'State 1','State 2','State 3'
WHEN 'State' = 'District' THEN 'State 1'
END)
group by x ORDER BY x,y
以上查询显示语法错误我知道我做错了什么。
编辑:
THEN子句后的值是动态的,它可含有1倍或更多的值(从多选择框)。我想查询被执行为
SELECT "State" AS x, count("Age Group") AS y from test.smp_state_survey where "State" IN
('State 1','State 2','State 3')
group by x ORDER BY x,y
哪个运行得很好,但问题是CASE没有返回我所需的字符串。
谢谢,这工作:) – Ankit