質問編集履歴
6
SAStrutsタグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
5
質問内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -46,7 +46,7 @@
|
|
46
46
|
### 起こっていること、聞きたいこと
|
47
47
|
animalCdをリストで保持しているからなのか、
|
48
48
|
/*IF animalCd == "CC"*/ /*END*/
|
49
|
-
が機能しません。
|
49
|
+
のコメント部の条件判定がいつもfalseになり機能しません。
|
50
50
|
また、この質問を書いていて気が付いたのですが私がやりたいこととしては
|
51
51
|
条件を「animalCdに"CC"(それ以外)が含まれていた場合」としたいのです。
|
52
52
|
要は発行されるSQLとしては、「いぬ」「それ以外」が選択された場合
|
@@ -59,7 +59,7 @@
|
|
59
59
|
```
|
60
60
|
…とされることを想定していました。
|
61
61
|
|
62
|
-
SQLファイル内でそんなこと
|
62
|
+
SQLファイル内でそんな条件を書くことは可能なのでしょうか。
|
63
63
|
可能でなければほかにどのようなやり方があるでしょうか。
|
64
64
|
また、SQLの組み立て方、仕様としてどうなのか?等々ありましたら
|
65
65
|
是非教えていただければ幸いです。
|
4
質問内容の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
検索フォームで複数条件が指定された場合のSQL
|
1
|
+
検索フォームで複数条件が指定された場合のSQLを動的にしたい
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
DBはSQLServer、言語はJava(Seasar2)です。
|
7
7
|
|
8
8
|
・ボタンは「いぬ(value:AA)」「ねこ(value:BB)」「それ以外(value:CC)」の3つです。
|
9
|
-
・検索しにいくカラム名は
|
9
|
+
・検索しにいくカラム名はanimalCDです。
|
10
10
|
・ボタンは複数選択可能です。
|
11
11
|
・この項目は必須項目です。
|
12
12
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
select * from ANIMALTABLE where animalCD NOT IN ('AA','BB')
|
24
24
|
```
|
25
25
|
|
26
|
-
「それ以外」はvalueを持っていますが、animalCDには"CC"という値は
|
26
|
+
「それ以外」はvalueを持っていますが、DBのanimalCDには"CC"という値は存在しません。
|
27
27
|
「いぬ」「ねこ」の2つが選択された場合も両方に該当する結果を表示します。
|
28
28
|
「いぬ」「ねこ」「それ以外」の3つが選択された場合も然りです。
|
29
29
|
|
3
SQLの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
select * from ANIMALTABLE
|
55
55
|
where
|
56
56
|
animalCD IN ('AA')
|
57
|
-
|
57
|
+
OR
|
58
58
|
animalCD NOT IN ('AA','BB')
|
59
59
|
```
|
60
60
|
…とされることを想定していました。
|
2
質問内容の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,6 +27,8 @@
|
|
27
27
|
「いぬ」「ねこ」の2つが選択された場合も両方に該当する結果を表示します。
|
28
28
|
「いぬ」「ねこ」「それ以外」の3つが選択された場合も然りです。
|
29
29
|
|
30
|
+
どのボタンが押されてどの組み合わせにも対応できるよう、SQLを動的にしたいです。
|
31
|
+
|
30
32
|
### 試したこと
|
31
33
|
該当のSQLファイルを以下のようにしました。
|
32
34
|
変数animalCdには画面から取得したanimalCdをリストで保持しSQLファイルに渡します。
|
@@ -37,7 +39,7 @@
|
|
37
39
|
animalCD IN /*animalCd*/('AA','BB')
|
38
40
|
/*END*/
|
39
41
|
/*IF animalCd == "CC"*/ -- 「それ以外」が選択されている場合
|
40
|
-
|
42
|
+
OR animalCD NOT IN ('AA','BB')
|
41
43
|
/*END*/
|
42
44
|
```
|
43
45
|
|
1
SQL Serverタグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|