teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

SAStrutsタグの追加

2020/02/17 07:25

投稿

piterata
piterata

スコア7

title CHANGED
File without changes
body CHANGED
File without changes

5

質問内容の修正

2020/02/17 07:25

投稿

piterata
piterata

スコア7

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

質問内容の修正

2020/02/14 10:54

投稿

piterata
piterata

スコア7

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
- ・検索しにいくカラム名は動物コード(animalCDです。
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の修正

2020/02/14 10:40

投稿

piterata
piterata

スコア7

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
- and
57
+ OR
58
58
  animalCD NOT IN ('AA','BB')
59
59
  ```
60
60
  …とされることを想定していました。

2

質問内容の追記

2020/02/14 10:28

投稿

piterata
piterata

スコア7

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
- AND animalCD NOT IN ('AA','BB')
42
+ OR animalCD NOT IN ('AA','BB')
41
43
  /*END*/
42
44
  ```
43
45
 

1

SQL Serverタグの追加

2020/02/14 10:27

投稿

piterata
piterata

スコア7

title CHANGED
File without changes
body CHANGED
File without changes