私は選択クエリを持っています。私はその選択クエリを別の選択で置き換える場合は、その行が返されません。例えばSQL Select - one as return
は私が持って言うことができます:
Select * from Temp2
if (@@rowcount=0)
select * from Temp1
C#の終わりに、私は、データセットとしてそれを取得します。したがって、行が返されない場合、別の選択が行われます。しかし、この選択は、テーブル[0]ではなくテーブル[1]にあります。
本質的に、私がしたいのは、SQLストアドプロシージャの最初の選択結果を@@ rowcount = 0ならば最後のものに置き換えることです。 これができると確信しています。私はきちんとした解決策が必要です。
私はこのような何か行うことができます。
if ((select count(ID) from Temp2) =0)
select * from Temp1
else
select * from Temp2
を、私は3つの選択を持っています。私はselectステートメントが与えられた簡単な例よりも複雑で、同じセレクトを2回繰り返すことを嫌う(例えばTemp2を選択する)ので、max 2 selectでそれをやりたい。
おかげ
+ 1歓声...組合すべてがOK – waqasahmed
:)どうもありがとうございました... TEMP2をTEMP1値を持っていないので、どこ最後の意味がありません...それをやったが、あなたは削除する場合Temp2に行があっても、常にTemp1という形式の行を返します。元の質問にあったロジックとは異なります。 –
私は知っている..私の選択ステートメントは、結果をフィルタリングするwhere句を持っています。そして、結果は決して返されません。一つのselectの行も別のselectの行として存在します。 – waqasahmed