postgresql - 选择案例 : more than one row returned by a subquery used as an expression

标签 postgresql postgresql-8.4

我的问题得到了很好的帮助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/

相关文章:

ruby-on-rails - Rails Enum 返回整数值,而不是字符串表示

postgresql - golang Gorp Postgres 选择只返回一行

postgresql - 在 PostgreSQL 中将字符串散列为数值

postgresql - 如何在 postgresql 中记录数据变化?

sql - 如何将结果集转换为数组?

postgresql - 如何转储 PostgreSQL 数据库结构(每个对象在单独的文件中)

python - pd.DataFrame.to_sql(method ="multi") GCP Postgres 引发 struct.error 'h' 格式需要 -32768 <= number <= 32767 和用户定义的 dtypes

postgresql - 在 PostgreSQL 中选择字符串的值

postgresql - 如何动态执行 PostgreSQL RAISE 命令

postgresql - 检索当前(在运行查询时)序列值的选项