1

私は次の問題を解決しようとしています:

選択したいのですが、結果が空の場合は「空」に置き換える必要があります。それ以外の場合は、結果のすべての行が表示されます。好き:

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でクエリを使用するために必要なCOMPLETEコードを表示してください

4

3 に答える 3

1

オラクルの場合

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
于 2012-08-16T09:48:10.620 に答える
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

よろしく

于 2012-08-16T09:52:17.847 に答える
0

ストアド プロシージャではなく、アプリケーション コードでこれを行います。ここでやろうとしているのは、私見がデータベースを気にするべきではないユーザーエクスペリエンス関連の作業です。

于 2012-08-16T09:55:49.497 に答える