考虑以下架构:
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,s.sid
having some (p.color = 'green') and some (p.color = 'red')
当我执行上述两个查询时,查询输出显示缺少右括号,需要帮助谢谢。