質問編集履歴

1

クエリエラーについて追記

2017/12/07 01:58

投稿

n_kitamura
n_kitamura

スコア17

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も指定されている理由もわかりません…。