Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Case When语句对多个表上的行进行计数_Sql_Oracle_Case_Oracle12c - Fatal编程技术网

SQL Case When语句对多个表上的行进行计数

SQL Case When语句对多个表上的行进行计数,sql,oracle,case,oracle12c,Sql,Oracle,Case,Oracle12c,我试图编写一个查询,检查是否填充了多个表,因此我必须检查多个表,如果其中只有一个表有0条记录,那么我必须在输出中返回“否”,否则,如果所有这些表都有0条以上的记录(即1,2,3…条记录),它应该返回“是” 我已经尝试使用: SELECT CASE WHEN (SELECT COUNT(*) FROM LorikSkema.TABLE1) > 0 THEN 'YES' ELSE 'NO' END FROM DUAL; 这似乎只适用于一个表,但我很难根据此逻辑为多个

我试图编写一个查询,检查是否填充了多个表,因此我必须检查多个表,如果其中只有一个表有0条记录,那么我必须在输出中返回“否”,否则,如果所有这些表都有0条以上的记录(即1,2,3…条记录),它应该返回“是”

我已经尝试使用:

SELECT
    CASE WHEN (SELECT COUNT(*) FROM LorikSkema.TABLE1)  > 0 THEN 'YES'
    ELSE 'NO'
    END FROM DUAL;

这似乎只适用于一个表,但我很难根据此逻辑为多个表找到合适的查询。

您可以使用
添加对其他表的检查。但我认为使用
EXISTS
可能比
count(*)
更快


刚刚注意到你的案例陈述需要结束。我试图编辑它,但更改不符合最小字符限制。
SELECT CASE
         WHEN EXISTS (SELECT *
                             FROM table1)
              AND EXISTS (SELECT *
                                 FROM table2)
              ...
              AND EXISTS (SELECT *
                                 FROM tablen) THEN
           'YES'
         ELSE
           'NO'
       END
       FROM dual;