Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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将空的SQL SELECT替换为word else,并在Oracle中发布结果_Sql_Oracle_If Statement_Case - Fatal编程技术网

SQL将空的SQL SELECT替换为word else,并在Oracle中发布结果

SQL将空的SQL SELECT替换为word else,并在Oracle中发布结果,sql,oracle,if-statement,case,Sql,Oracle,If Statement,Case,我试图解决以下问题: 我想做一个选择,当结果为空时,它应该被替换为“空”,否则结果的所有行都应该在那里。 比如: 这是我的尝试: select case when count(*) = 0 then 'no Entry' else Members --all Members should be here END as Member from tableMember where Membergroup = 'testgroup'; 谢谢所有能帮助我的人 请向我展示在Oracle中使用

我试图解决以下问题:

我想做一个选择,当结果为空时,它应该被替换为“空”,否则结果的所有行都应该在那里。 比如:

这是我的尝试:

select case when count(*) = 0
   then 'no Entry'
   else Members --all Members should be here
END as Member
from tableMember where Membergroup = 'testgroup';
谢谢所有能帮助我的人

请向我展示在Oracle中使用查询所需的完整代码

仅限MS-SQL

试试这个:

DECLARE @counter int

SET  @counter = (select count(*) from tableMember where Membergroup = 'testgroup');

IF (@counter > 0)
BEGIN
     SELECT * FROM Members
END
ELSE
BEGIN
     SELECT 'No results!'
END

关于

我宁愿在应用程序代码中这样做,而不是在存储过程中这样做。这里您要做的是与用户体验相关的工作,这是数据库不应该关心的。

如果在C#中,请在
while(rdr.Read())
循环中创建一个计数器。如果计数器仍然为0,则打印一行,否则全部打印..嗯。。。您在任何地方都编写过Oracle,但这些都不是Oracle代码。。。你想做什么?根据你的尝试用你的表名和列名更新。这很好,但是我如何开始呢?我有一个sql文件,通常在数据库中进行选择。我不能创建程序等等。我需要它作为一个查询。哪里没有;在声明中?你说的“我如何开始”是什么意思?没有
在语句中,因为MS-SQL不需要它们,这是我的基础,您使用的是什么RDM?我使用的是oracle。据我所知,每个查询都需要一个;最后。你能给我在oracle中使用它的完整代码吗?这是一个过程吗?我已经制作了一个适用于Oracle的版本,但我还没有测试它!据我所知,您应该能够像使用任何其他select语句一样使用它。
DECLARE C INTEGER;
SELECT COUNT(*) INTO C FROM tableMember WHERE Membergroup = 'testgroup';

IF C > 0
THEN
    SELECT * FROM tableMember;
ELSE
    SELECT 'No results!' FROM tableMember;
END IF;
IF EXISTS(SELECT * FROM tableMember WHERE Membergroup = 'testgroup')
BEGIN
    SELECT * FROM tableMember
END
ELSE
BEGIN
    SELECT 'No results!'
END
DECLARE @counter int

SET  @counter = (select count(*) from tableMember where Membergroup = 'testgroup');

IF (@counter > 0)
BEGIN
     SELECT * FROM Members
END
ELSE
BEGIN
     SELECT 'No results!'
END