这个SQL查询有什么问题以及如何修复它?

查询的想法是获取所有seo_path_info具有重复项且相应产品设置为活动的条目。

我的查询是:

SELECT `seo_path_info`,COUNT(`seo_path_info`)
FROM `shopware`.`seo_url` seo
GROUP BY `seo_path_info`
HAVING COUNT(`seo_path_info`)>1
LEFT JOIN product p ON p.id = seo.foreign_key WHERE p.active = '1';

以及相应的错误:

查询 1 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 5 行的“LEFT JOIN product p ON p.id = seo.foreign_key WHERE p.active = '1''附近使用的正确语法

回答

JOIN在之后FROM但之前WHERE,并WHERE在之前GROUP BY

SELECT seo_path_info, COUNT(seo_path_info)
FROM shopware.seo_url seo
LEFT JOIN product p
    ON p.id = seo.foreign_key AND p.active = '1'
GROUP BY seo_path_info
HAVING COUNT(seo_path_info) > 1;


以上是这个SQL查询有什么问题以及如何修复它?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>