0

という列があるテーブルがありますallocated_to。その列に値がある場合、それは行のステータスがassignedそれ以外であることを意味しますunassigned

私の検索ボックスから、私は割り当てられていない人1のためassignedに送信しています。また、という名前の列に対して、0さらに2つの同様のチェックがpendingあります。closedSignOff (type: int)

これで、合計 9 つの検索条件ができました

1. Pending
2.Closed
3. Unassigned
4. Assigned
5. Pending + Unassigned
6. Pending + Assigned
7. Closed + Unassigned
8. Closed + Assigned
9. For all records irrespective of any statuses. 

では、クエリに条件を追加するにはどうすればよいですか。実際には、SP の変更と、そのための SP は既に稼働しています。そのため、クエリを動的にするなどして、クエリに大きな変更を加えることはできません。

ここでサンプルを提供できます。私のクエリは次のようになります。

If Some_Condition
 begin
   Select x,y,zfrom T1 join T2 on t1.a=t2.b
   Where IsNull(SignOff,0)=@ParamForPendingAndClosed
 end

ここで、上記の 9 のチェックを追加したいと思います。

ご注意ください:

すべての if-else 条件で行う必要があるため、大きな変更を行うことはできません。それ以外の場合、ヘッダーの状態に応じて、クエリはほぼ 4 ~ 5 になります。それ以外は大歓迎です。

4

2 に答える 2

0

結果に保留中/クローズ済みまたは割り当て済み/未割り当ての結果を含めるかどうかを指定できる、いくつかのオプションのパラメーターを追加できます。このようにして、結果を取得する単一の柔軟な方法を維持します。

SQL でのオプション パラメータの使用の概要については、この SO Answerをご覧ください。

于 2013-08-26T15:35:42.257 に答える