Голосование за лучший ответ
Чайкин Виталий
Мыслитель
(7594)
3 года назад
SELECT Производитель, Модель, MAX(Цена) FROM
(SELECT Производитель, Модель, Цена FROM Laptop
UNION
SELECT Производитель, Модель, Цена FROM PC
UNION
SELECT Производитель, Модель, Цена FROM Printer)
GROUP BY Производитель, Модель
Vasia Popkin
Ученик
(104)
3 года назад
Это 75ая задача с сайта sql-ex.ru.
Я вот так решил, но не проходит проверку на проверочной базе данных.
select p.maker,
max(l.price) as laptop,
max(pc.price) as pc,
max(pr.price) as printer
from product p
left join pc
on p.model = pc.model
left join laptop l
on p.model = l.model
left join printer pr
on p.model = pr.model
group by p.maker
hrach.loretsyan
Ученик
(225)
3 года назад
select maker,
max(l.price) as laptop,
max(pc.price) as pc,
max(pr.price) as printer
from laptop l right join product p on l.model = p.model left join pc on pc.model = p.model left join printer pr on p.model = pr.model
where maker in (
select maker from product where model in (
select model from pc where price is not null union all
select model from printer where price is not null union all
select model from laptop where price is not null)
) group by maker order by maker;