我正在尝试解决以下问题:
我想做一个选择,当结果为空时,应该用'empty'替换。否则结果的所有行都应该在那里。 像:
if (select has no result)
{
One Line as result with 'no result'
}
else
{
post every line of the select result
}
这是我的尝试:
select case when count(*) = 0
then 'no Entry'
else Members --all Members should be here
END as Member
from tableMember where Membergroup = 'testgroup';
感谢所有能帮助我的人!
请告诉我在 Oracle
中使用查询所需的完整代码答案 0 :(得分:1)
FOR ORACLE
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;
仅限MS-SQL
IF EXISTS(SELECT * FROM tableMember WHERE Membergroup = 'testgroup')
BEGIN
SELECT * FROM tableMember
END
ELSE
BEGIN
SELECT 'No results!'
END
答案 1 :(得分:1)
试试这个:
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
此致
答案 2 :(得分:0)
我宁愿在应用程序代码而不是存储过程中执行此操作。你在这里要做的是用户体验相关的工作,恕我直言是数据库不应该关心的事情。