1
我需要一個CASE語句來返回一個字符串列表,但我遇到了一些語法問題。產生的SQL應該是這樣的:PL/SQL在CASE語句中返回一個列表
SELECT * FROM FRUIT WHERE COLOR IN ('RED', 'YELLOW')
我想要做的(這不起作用):
SELECT * FROM FRUIT WHERE COLOR IN
CASE
WHEN TYPE = *something*
THEN ('RED', 'YELLOW')
ELSE ('GREEN')
END
這工作:
SELECT * FROM FRUIT WHERE COLOR IN
CASE
WHEN TYPE = 1
THEN 'RED'
ELSE 'GREEN'
END
錯誤我得到︰
ORA-00907 missing right parenthesis
它的作品,當我使用多個COLOR ='X'或COLOR ='Y',但我想知道是否有辦法只使用一個CASE語句。提前致謝。
只需使用布爾邏輯來代替。使用案例表達式沒有優勢。 –
爲什麼不使用工會?當你需要從一個表中查詢,但是有條件的時候 - 工會是最常見的方式。 – Ychdziu
你的預期輸出是什麼? – maSTAShuFu