我的问题PostgreSQL得到了很好的帮助: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
我得到了错误:
错误:用作表达式的子查询返回了多行
我发现了IN
的功能,但没有任何改进的想法。
我认为你可以这样做:
select name from mytable
UNION ALL
SELECT 'NO RESULT'
WHERE NOT EXISTS(SELECT NULL FROM mytable)