質問編集履歴
1
クエリエラーについて追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -79,3 +79,45 @@
|
|
79
79
|
|
80
80
|
|
81
81
|
何卒よろしくお願い致します。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
-------------------------
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
追記:
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
.countで出力されたSQLは以下のような感じで、
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
```
|
98
|
+
|
99
|
+
SELECT COUNT(*) AS count_all, comments.article_id AS comments_article_id
|
100
|
+
|
101
|
+
FROM `articles` INNER JOIN `comments` ON `comments`.`article_id` = `articles`.`id`
|
102
|
+
|
103
|
+
GROUP BY comments.article_id
|
104
|
+
|
105
|
+
HAVING (CONCAT(articles.description, GROUP_CONCAT(comments.description)) like '%ワード%')
|
106
|
+
|
107
|
+
```
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
1054 - Unknown column 'articles.description' in 'having clause'
|
112
|
+
|
113
|
+
となってしまいます。
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
- このエラーが出るのはカウント時のみで、selectを「articles.*」に置き換えると問題なく通ります。
|
118
|
+
|
119
|
+
- HavingをWhereに置き換えるとGROUP_CONCATが使えなくなってしまいます。
|
120
|
+
|
121
|
+
- エラー箇所であるarticles.descriptionを消すとクエリは通るのですが、当然記事本文が検索対象に含まれなくなります。
|
122
|
+
|
123
|
+
- そもそも、SELECTでcount_allのほかにcomments_article_idも指定されている理由もわかりません…。
|