回答編集履歴

2

脱字を修正

2016/10/17 01:43

投稿

KaedeKazane
KaedeKazane

スコア408

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  失礼しました。
26
26
 
27
- 上記の場所はエラーが発生するように変更とは関係ありませんでしたね。
27
+ 上記の場所はエラーが発生するようになった変更とは関係ありませんでしたね。
28
28
 
29
29
 
30
30
 

1

加筆

2016/10/17 01:43

投稿

KaedeKazane
KaedeKazane

スコア408

test CHANGED
@@ -15,3 +15,51 @@
15
15
  "INNER JOIN collection_generation AS cm ON c._id=cm.generation_idLEFT JOIN( SELECT DISTINCT log.generation_id FROM log) AS l "
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ 追記
22
+
23
+ ---
24
+
25
+ 失礼しました。
26
+
27
+ 上記の場所はエラーが発生するように変更とは関係ありませんでしたね。
28
+
29
+
30
+
31
+ SELECT文の構文は以下のようになります。
32
+
33
+ ```
34
+
35
+ SELECT 抽出項目 FROM 抽出対象の表 WHERE 抽出条件 (ORDER句等)
36
+
37
+ ```
38
+
39
+ JOIN(表の結合)はFROM句で対象となる表を結合するのでFROM句の一部となります。
40
+
41
+ そのため、WHERE句はJOINの後に記述します。
42
+
43
+
44
+
45
+ ```
46
+
47
+ sql = "SELECT c._id, c.name, c.type1, c.type2, c.publisher, c.author, c.english, c.official1, c.official2, c.official3, count(c._id), count(l.generation_id) " +
48
+
49
+ "FROM collection AS c " +
50
+
51
+ "INNER JOIN collection_generation AS cm ON c._id=cm.generation_id" +
52
+
53
+ "LEFT JOIN( SELECT DISTINCT log.generation_id FROM log) AS l " +
54
+
55
+ "ON cm.generation_id=l.generation_id" +
56
+
57
+ //結合してから条件を指定
58
+
59
+ "WHERE type1 = " + getQuery() + " " +
60
+
61
+ "GROUP BY c._id;";
62
+
63
+
64
+
65
+ ```