以下はサンプルテーブルのスクリプトです
DECLARE @tbl TABLE (ID int)
INSERT INTO @tbl VALUES(1), (2), (NULL), (3), (NULL), (1)
列に3つの条件が必要ですID
SELECT * FROM @tbl WHERE ID -- Can't figure out
- ユーザーがすべての行を必要とする場合
- ユーザーがIDがNULLの行が必要な場合
- ユーザーがIDがNULLでない行が必要な場合
クエリを文字列に入れることでこれを行うことができますが、長いクエリではこのような条件が1つしかないため、すべてのクエリを文字列に入れたくありません。
編集:@TimSchmelterへの返信。私の主張を明確にすることができなかったことをお詫びします。ユーザーはフロントエンドから、IDが指定されている行のみをすべての行にするか、IDが指定されていない行をすべての行にするかを選択します。
長いクエリでは、1つの条件は次のようになります
@id INT // Value from front end like 'All', 'Products', 'No Products'
WHERE ID = @ID // Here I can't figure out that how to use one of three conditions
それでも質問を説明できない場合はお知らせください。もう一度やり直します。
ありがとう。