Я начал изучать SQL (не MySQL, поскольку он кажется другим в некоторых частях), и я столкнулся с этой проблемой, которую я не мог понять, как решить
У меня есть следующие таблицы:
CREATE TABLE products(
product char(30),
color char(30)
);
INSERT INTO products (product, color)
VALUES
("table","brown"),
("chair","brown"),
("shelf","brown"),
("table","black"),
("chair","white");
CREATE TABLE suppliers(
supplier char(30),
product char(30),
color char(30)
);
INSERT INTO suppliers (supplier, product, color)
VALUES
("s1","chair","brown"),
("s1","door","brown"),
("s1","table","brown"),
("s1","table","black"),
("s1","shelf","brown"),
("s2","chair","brown"),
("s3","table","brown"),
("s3","table","black"),
("s3","chair","brown"),
("s3","chair","white"),
("s3","shelf","white");
Мне нужно найти с помощью SQL поставщиков и количество коричневых продуктов, которые они могут предоставить в магазин, и магазин продает их , отсортированных по количеству в порядке возрастания (коричневые продукты в таблице продуктов). Я начал с подзапросов и примерно так:
select supplier,COUNT(pb.product)
from (select product from products where color = "brown") as pb, (select supplier, product from suppliers where color = "brown") as sb
where pb.product == sb.product;
но я не могу понять, пожалуйста, помогите.
Результаты в этих таблицах должны быть:
supplier| no_of_products
-------------------------
s2 | 1
s3 | 2
s1 | 3