回答編集履歴

1

追記

2018/09/09 11:56

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -15,3 +15,45 @@
15
15
  ```
16
16
 
17
17
  existsの方が効率が良いかもしれませんが、そこは実行計画で確認されて下さい。
18
+
19
+ 追記
20
+
21
+ --
22
+
23
+ クラス別にテーブルを作らず、一つのテーブルに纏める方法も考えられます。
24
+
25
+ auto_id | path_id |category| value
26
+
27
+ |:--|:--:|--:|
28
+
29
+ 1 | 1 | 'speed'| 45
30
+
31
+ 2 | 1 | 'speed'| 50
32
+
33
+ 3 | 1 | 'speed'| 60
34
+
35
+ 4 | 2 | 'speed'| 50
36
+
37
+ 5 | 2 | 'speed'| 70
38
+
39
+ 6 | 3 | 'speed'| 20
40
+
41
+ 7 | 4 | 'speed'| 50
42
+
43
+ 8 | 5 | 'speed'| 30
44
+
45
+ 9 | 5 | 'speed'| 90
46
+
47
+
48
+
49
+ 上記のテーブルをelementsとすると、以下のような問合せになります。
50
+
51
+ ```SQL
52
+
53
+ select * from main
54
+
55
+ where id in (select path_id from elements where category='speed' and value>=20)
56
+
57
+ and id in (select path_id from elements where category='fuel' and value>=50)
58
+
59
+ ```