我的问题得到了很好的帮助PostgreSQL: return message after count = 0
这个查询工作正常:
SELECT CASE WHEN COUNT(*) = 0 THEN 'NO RESULT'
ELSE CAST(COUNT(*) as TEXT)
END as myfield from mytable
但是今天我需要如果表中有一些行,我需要显示选择结果。
我尝试过:
SELECT CASE WHEN COUNT(*) = 0 THEN 'NO RESULT'
ELSE (select name from mytable)
END as myfield from mytable
我得到了错误:
ERROR: more than one row returned by a subquery used as an expression
我发现了 IN
功能,但没有任何改进的想法。
最佳答案
我认为你可以做这样的事情:
select name from mytable
UNION ALL
SELECT 'NO RESULT'
WHERE NOT EXISTS(SELECT NULL FROM mytable)
关于postgresql - 选择案例 : more than one row returned by a subquery used as an expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34784219/