我有以下SQL查询,其中CASE语句需要返回多个值。
select TASK_NAME
from TASK
where TASK_TYPE in (
when (select USER_COUNTRY from USER) in (select COUNTRY_NAME from COUNTRY where CONTINENT = 'Europe') then ('Adhoc', 'Resell')
when (select USER_COUNTRY from USER) in (select COUNTRY_NAME from COUNTRY where CONTINENT = 'Americas') then ('Classified', 'Bought', 'Handle')
else ('None', 'Blank')
end )
然而,WHEN子句的数量并不固定,因为可能有更多的条件。我不认为SQL从CASE语句中返回多个值会有效。
我还应该补充一点,这个查询所传递的应用程序不承认分组。
我为没有提供表格而感到抱歉。我将在适当的时候这样做。只是想把这个问题说出来。