Объединить повторяющиеся позиции в таблице

У меня есть две таблицы - таблица товаров и таблица заказов этих товаров. Заказы ссылаются на товар по внешнему ключу. Вопрос заключается в том, каким образом мне посчитать количество заказанного товара? Таблица выглядит так, единственное, что осталось сделать, это сложить все повторяющиеся значения.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: NkL322

Помогло группирование GROUP BY, которое группирует схожие данные. Пример кода ниже.

BEGIN
    RETURN QUERY(
        SELECT fishing_products.id, fishing_products.name AS product_name, 
        fishing_products.price, SUM(products_sales.quantity),
        fishing_products.release_date, suppliers.name AS supplier_name, 
        suppliers.country_name AS supplier_country, producers.name AS producer_name,
        producers.country_name AS producer_country
        FROM products_sales
        JOIN fishing_products ON products_sales.product_id = fishing_products.id
        JOIN (SELECT suppliers.id, suppliers.name, countries.name AS country_name
              FROM suppliers
              JOIN countries ON suppliers.country_id = countries.id) AS suppliers
        ON fishing_products.supplier_id = suppliers.id
        JOIN (SELECT producers.id, producers.name, countries.name AS country_name
              FROM producers
              JOIN countries ON producers.country_id = countries.id) AS producers
        ON fishing_products.producer_id = producers.id
        GROUP BY fishing_products.id, product_name, fishing_products.price, 
        fishing_products.release_date, supplier_name, 
        supplier_country, producer_name, producer_country
        ORDER BY SUM(products_sales.quantity) DESC
    );
END;
→ Ссылка