Я передал сценарий, который имел схемуИщете более элегантный способ решения этой SQL запрос
продукта:
maker model type
A 1232 PC
A 1233 PC
A 1276 Printer
A 1298 Laptop
A 1401 Printer
A 1408 Printer
A 1752 Laptop
B 1121 PC
B 1750 Laptop
C 1321 Laptop
D 1288 Printer
D 1433 Printer
E 1260 PC
E 1434 Printer
E 2112 PC
E 2113 PC
И запрос должен был
Получить которые производят только один тип продукта и более одной модели .
Выходные столбцы должны быть изготовителями и типами.
И вот что я придумал.
select distinct maker, type
from Product
where maker in (select maker
from Product
group by maker, type
having count(model) > 1
except
select maker
from
(
select distinct maker, type
from Product
) A
group by maker
having count(type) > 1)
Я знаю, что это не кажется элегантным в любом случае, поэтому мне было интересно, может ли кто-то придумать лучшей альтернативой, и объяснить, почему это лучше, чем запрос, указанный выше.
EDIT: Пожалуйста, убедитесь, что ответ только две колонки шириной, которая является
Maker, Тип
Можете ли вы добавить тег для РСУБД двигателя? – amphetamachine
Подзапросом может быть просто GROUP BY, с условиями в HAVING. – jarlh