私は1つの列 "タイプ"を持つSQLテーブルを持っています。値はA、B、C、Dです。
私は型がパラメータ@typeであるストアドプロシージャを作成しています。
@typeは、画面上のユーザーの選択に基づいて値 'A'または 'A、B、C'または 'ALL'のいずれかを持つことができます。つまり、ユーザーは単一、複数、またはすべてのオプションを選択できます。
カラム "type"の条件を使用してテーブルからデータをフィルタリングする必要があります。"in"を使用してケース内の条件を
私はテーブル形式で値を返すsplit関数を書かれている
select * from maintable where
(case when @type ='ALL' then 1=1) else
type in (select data from SplitString(@type,',')) end)
以下に似た何かをしたいです。
ALLを選択すると、テーブル全体が返されます。特定のタイプが選択されている場合、それらのタイプのみが返されます。
私はsqlserver 2012を使用しています。
親切に助けてください!
どのようにあなたの 'SP'に' IF'の使用について – Sami