2

私はこのクエリを持っています:

SELECT `manufacturers`.*, `languages`.*, COUNT(`products`.`id`) AS productcount
FROM (`manufacturers`)
WHERE `manufacturers`.`flushed` = `0`
JOIN `languages` ON `manufacturers`.`lang` = `languages`.`id`
LEFT OUTER JOIN `products` ON 
`products`.`manuf` =  `manufacturers`.`mid`
GROUP BY manufacturers.id
ORDER BY `languages`.`id` asc, `manufacturers`.`mid` asc;

WHERE 行がなければ、すべてうまく機能しますが、それを使用すると、エラー 1064 (構文エラー) が表示されます。クエリ内の WHERE 行の実際の配置と関係があると思われるので、移動しようとしましたが、うまくいきませんでした。

私に何ができる?

4

2 に答える 2

10

結合の後、group by の前の場所 (結合はfrom句の一部と見なされます)

于 2010-06-07T12:32:15.753 に答える
1

これをチェックして:

SELECT `manufacturers`.*, `languages`.*, COUNT(`products`.`id`) AS productcount
FROM (`manufacturers`)
JOIN `languages` ON `manufacturers`.`lang` = `languages`.`id`
LEFT OUTER JOIN `products` ON 
`products`.`manuf` =  `manufacturers`.`mid`
WHERE `manufacturers`.`flushed` = `0             -- where comes after joins 
GROUP BY manufacturers.id
ORDER BY `languages`.`id` asc, `manufacturers`.`mid` asc;
于 2010-06-07T12:35:29.653 に答える