
@jouken int
@sql varchar(MAX)
@select varchar(MAX)
@where varchar(MAX)
set @select = 'select * from table1'
set @where = '
where
case
when @jouken = 0 then 'field1 = 1'
when @jouken = 1 then 'field1 = 1 or field2 = 1'
when @jouken = 2 then 'field1 = 1 or field2 = 1 or field3 = 1'
end
'
set @sql=@select+@where
exec(@sql)
上記のような文字列の組み合わせでの作成でやりたいことはできたのですが、
こちらを直接SQLの中でやりたいのです。
以下の文は機能しません。
select * from table1
where
case
when @jouken = 0 then field1 = 1
when @jouken = 1 then field1 = 1 or field2 = 1
when @jouken = 2 then field1 = 1 or field2 = 1 or field3 = 1
end
ご教授の程、よろしくお願い致します
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
確定申告しなかった・無申告の人をどうやって見つけるのか元国税調査官に聞いてみた
無申告の方などを対象に税務調査を行う国税局の元税務調査官さんに、どう無申告を探すのか聞いてきました。
-
引数によってwhere句を切り替える方法
Oracle
-
場合によって条件を変えるSQL
Oracle
-
FROM の中で CASE を使えるでしょうか
SQL Server
-
4
SELECT 文 GROUP での1件目を取得
SQL Server
-
5
CASE文のエラーについて
Oracle
-
6
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
7
SQL Server Where句 Case文
SQL Server
-
8
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
9
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
10
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
11
GROUP BYを行った後に結合したい。
Oracle
-
12
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
13
Unionの結果全体をOrder By したい。
SQL Server
-
14
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
15
カーソル0件の時にエラーを発生させる
Oracle
-
16
SELECTで1件のみ取得するには?
Oracle
-
17
SQL文のwhere条件文で使う <> の意味はなんですか
その他(データベース)
-
18
PL/SQLカーソルの2重FORループができません
Oracle
-
19
select文の実行結果に空白行を入れたい
MySQL
-
20
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
SELECT 文 GROUP での1件目を...
-
5
オーストラリア英語ですか
-
6
2つのテーブルを結合するときに...
-
7
count集計の結果が0の場合でも...
-
8
2つのカラムでgroup by の動作...
-
9
エクセルで最後の文字だけ置き...
-
10
外部参照してるキーを主キーに...
-
11
SQLで列名を変数にできないでし...
-
12
フィルターかけた後、重複を除...
-
13
EXISTSを使ったDELETE文
-
14
SQLServerで文字列の末尾からあ...
-
15
Exel VBA 別ブックから該当デ...
-
16
カーソル0件の時にエラーを発生...
-
17
for whichの使い方
-
18
SQLサーバから、項目の属性(型...
-
19
1日に1人がこなせるプログラム...
-
20
Unionの結果全体をOrder By し...
おすすめ情報
公式facebook
公式twitter