如何通过多重内部联接进行分组

安东尼奥·马尔迪尼

我尝试使用内部联接对选定的数据进行筛选我有3个表我应该将其联接这是我的查询

SELECT DISTINCT *
FROM products_products
    INNER JOIN products_products_translations on products_products.id = products_products_translations.entry_id
    INNER JOIN products_products_related on products_products.id = products_products_related.entry_id
    INNER JOIN upload_files on products_products_related.related_id = upload_files.related_id
WHERE products_products_translations.locale = 'tr'
GROUP BY products_products_related.entry_id;


这是我得到的错误

查询1错误:SELECT列表的表达式#35不在GROUP BY子句中,并且包含未聚合的列'shop.products_products_translations.id',该列在功能上不依赖于GROUP BY子句中的列;这与sql_mode = only_full_group_by不兼容

罗伊·博加多

删除distinct,然后添加products_products_related.entry_id, COUNT(*)

SELECT products_products_related.entry_id, COUNT(*)
FROM products_products
         INNER JOIN products_products_translations on products_products.id = products_products_translations.entry_id
         INNER JOIN products_products_related on products_products.id = products_products_related.entry_id
         INNER JOIN upload_files on products_products_related.related_id = upload_files.related_id
WHERE products_products_translations.locale = 'tr'
GROUP BY products_products_related.entry_id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章