Рассмотрим следующую схему:
Suppliers(sid: integer, sname: string, address: string)
Parts(pid: integer, pname: string, color: string)
Catalog(sid: integer, pid: integer, cost: real)
В отношении каталога указаны цены, выставленные поставщиками на цены.
У меня есть два вопроса:
- ДляДля каждого поставщика, который поставляет только зеленые детали, напечатайте название поставщика и общее количество деталей, которые он поставляет.
- Для каждого поставщика, поставляющего зеленую и красную детали, напечатайте название и ценусамая дорогая часть, которую она поставляет.
И вот что я пробовал до сих пор:
select s.sname, count(*)
from suppliers s, parts p, catalog c
where p.pid = c.pid and c.sid = s.sid
group by s.sname, s.sid
having every (p.color = 'green')
и
select s.sname, max(c.cost)
from suppliers s, parts p, catalog c
where p.pid = c.pid and c.sid = s.sid
group by s.sname, s.sid
having some (p.color = 'green') and some (p.color = 'red')
Когда я выполняювыше двух запросов вывод результатов показывает отсутствие правильной круглой скобки, нужна помощь.