たとえば、このようなテーブル Emp があります。
----------------------
eName | eId
----------------------
Anusha 1
Sunny 2
ID が 3 のエントリを探しているとします。行を見つけて表示するクエリを書きたいのですが、見つからない場合は、デフォルトの行 (temp,999) を表示することが期待されます。
select case
when (total != 0) then (select eName from Emp where eId = 3)
when (total == 0) then "temp"
end as eName,
case
when (total != 0) then (select eId from Emp where eId = 3)
when (total == 0) then 999
end as eId
from Emp,(select count(*) as total from Emp where eId = 3);
私が書いたこのクエリを使用すると、結果として2行が得られます。
temp 999
temp 999
(select count(*) as total from Emp where eId = 3)
クエリのfromリストにあるこのクエリが原因だと思い
ます。
個別句を使用してみましたが、1 行しか表示されません。しかし、クエリを台無しにして、おそらくハックを使用してそれを実行しようとしているだけであるかどうかは少し疑わしいです.これを行うためのより良い方法があるかどうか、または私が間違っているかどうかを提案してください.