Задача: Используя схему БД склада с таблицами goods (товары), warehouse (склады), product (продукты),
brand (бренды продуктов), составить запрос, который выводит список брендов (
brand.name) с указанием количества единиц
продукта в порядке убывания их количества на каждом складе для текущего бренда. Необходимо учитывать, что по некоторым
брендам на складах могут отсутствовать товары на единицу времени, при этом в вывод такие бренды также должны попадать.
Под отсутствием понимать отсутствие записи продукта в таблице товаров (goods), а не нулевое количество.
SELECT *
FROM (
SELECT
b.name as brand_name,
w.name as wh_name,
SUM(g.quantity) as in_stock
FROM brand as b
LEFT JOIN product p ON
b.id = p.brandId
LEFT JOIN goods g ON
p.id = g.productId
LEFT JOIN warehouse w ON g.warehouseId =
w.id GROUP BY
b.name,
w.name) as t1
ORDER BY brand_name, in_stock DESC;