I am working with a bilingual website that deals with products.

Each product has a `sku` and `supplier_id`. When inserting products, if the `sku` **and** `supplier_id` already exists, instead of creating a new product, I simply update its quantities.

If only the `sku` matches, but the `supplier_id` is different, then I create a new product.

Because the website is multi language, there are some tables for translations. 

When I search products I display one for each `sku`, summing the quantities.

This is my query

```
SELECT
    products.id, products.sku, products.slug,
    SUM(products.quantity) quantity,
    suppliers.name supplier_name,
    locale.description,
    categories.name category_name
FROM products products
    LEFT JOIN products_locale locale ON (products.id = locale.product_id AND locale.language_code = 'it')
    LEFT JOIN app_suppliers suppliers ON products.supplier_id = suppliers.id
    LEFT JOIN app_categories_locale categories ON (products.category_id = categories.category_id AND categories.language_code = 'it')
WHERE products.slug = 'slug'
GROUP BY products.sku

```

There are 2 different products with the same `sku`, one has quantity 5 and the other has 2.

The `quantity` field should return 7, instead it returns 9. Basically, the second product is duplicated.

Removing the `LEFT JOIN products_locale locale ON (products.id = locale.product_id AND locale.language_code = 'it')` solves the problem, but I need that field.

What is more strange is that I join two translation tables, `products_locale` and `app_categories_locale`, but only `products_locale` causes this behavior.

Is there any way of retrieving the same fields without duplicating the rows ?

Thank you