甲骨文 : Case : I/Elsef Query

标签 oracle

我正在执行如下的选择语句

Select case 
         when count(*) = 0 then 'Pass' 
       end as Test_Result
  from Table Name 
 where condition;

我想要如下输出

If count(*)=0 then Result should be 'Pass'

否则我想要这个查询的输出。我的意思是下面的输出

Select Count(*)
  from Table Name 
 where condition;

最佳答案

这里的一个选择是执行不带 WHERE 条件的查询,然后使用条件聚合来获取 ELSE 条件中出现的计数。

SELECT CASE WHEN COUNT(*) = 0 THEN 'Pass'
            ELSE CAST(SUM(CASE WHEN condition THEN 1 ELSE 0 END) AS VARCHAR2(30))
       END AS Test_Result
FROM yourTable

关于甲骨文 : Case : I/Elsef Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40998890/

相关文章:

java - Oracle JDBC 连接 : no ocijdbc9 in java. library.path

sql - 如何获取包含所有 dba 软件包描述的列表

database - 如何在组织中共享数据

sql - 外键引用主键包含 2 列的表

oracle - JPA根据请求参数更改实体表名称

oracle - 如何在 Oracle WebCenter Content Server 上启用或禁用调试工具栏

java - 我真的可以通过关闭连接读取 LOB 吗?

sql - TRIGGER 用于点求和

sql - 在旧式连接中使用 REGEXP_LIKE

java - Oracle 驱动程序行为不端 Tomcat 6.0