回答編集履歴

1

追記

2018/03/27 09:26

投稿

yambejp
yambejp

スコア114747

test CHANGED
@@ -14,6 +14,62 @@
14
14
 
15
15
  あえてやるならUNIONしたSELECT文でしょうか
16
16
 
17
+ ```SQL
18
+
19
+ (SELECT 1000 UNION SELECT 2000 UNION SELECT 3000 )
20
+
17
21
  ```
18
22
 
23
+
24
+
25
+ これに対して出金額=で検証すれば合致するデータはないのでヒットしません
26
+
27
+ - 元データ
28
+
29
+ ```SQL
30
+
31
+
32
+
33
+ create table 家計簿 (日付 date,費目 varchar(20), メモ varchar(20), 入金額 int, 出金額 int);
34
+
35
+ insert into 家計簿 values
36
+
37
+ ('2013-02-03','食費','コーヒーを購入',0,380),
38
+
39
+ ('2013-02-10','給料','1月の給料',280000,0),
40
+
41
+ ('2013-02-11','教養娯楽費','書籍を購入',0,2800),
42
+
43
+ ('2013-02-14','交際費','同期会の会費',0,5000),
44
+
45
+ ('2013-02-18','水道光熱費','1月の電気代',0,7560);
46
+
47
+
48
+
49
+ ```
50
+
51
+
52
+
53
+ - 検索
54
+
55
+ ```SQL
56
+
19
- (SELECT 1000 UNION SELECT 2000 UNION SELECT 3000 )
57
+ SELECT * FROM 家計簿 WHERE 出金額 = ANY (SELECT 1000 UNION SELECT 2000 UNION SELECT 3000 );
58
+
59
+ ```
60
+
61
+
62
+
63
+ 一応文法上未満をとれるので試して見ると
64
+
65
+ ```SQL
66
+
67
+ SELECT * FROM 家計簿 WHERE 出金額 < ANY (SELECT 1000 UNION SELECT 2000 UNION SELECT 3000 );
68
+
69
+ ```
70
+
71
+ なら拾えるでしょう。ただ、思っているデータがヒットしているかどうかはわかりません。
72
+
73
+ 合致させるだけならINで十分だし、未満を取りたいという場合どういった結果を
74
+
75
+ 期待しているか具体例がないと答えられないでしょう