我想寫一個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