【发布时间】:2019-11-12 04:58:13
【问题描述】:
考虑以下架构:
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')
当我执行上述两个查询时,查询输出显示缺少右括号,需要帮助,谢谢。
【问题讨论】: