小编use*_*124的帖子

使用group by和having子句

使用以下架构:

Supplier (sid, name, status, city)
Part (pid, name, color, weight, city)
Project (jid, name, city)
Supplies (sid, pid, jid**, quantity)
Run Code Online (Sandbox Code Playgroud)
  1. 获取供应给至少两个不同项目的零件供应商的供应商编号和名称.

  2. 为至少两个不同的项目获取同一部件供应商的供应商编号和名称.

这些是我的答案:

1.

SELECT s.sid, s.name
FROM Supplier s, Supplies su, Project pr
WHERE s.sid = su.sid AND su.jid = pr.jid
GROUP BY s.sid, s.name
HAVING COUNT (DISTINCT pr.jid) >= 2 
Run Code Online (Sandbox Code Playgroud)

2.

SELECT s.sid, s.name
FROM Suppliers s, Supplies su, Project pr, Part p
WHERE s.sid = su.sid AND su.pid = p.pid AND su.jid = pr.jid
GROUP BY …
Run Code Online (Sandbox Code Playgroud)

sql

39
推荐指数
3
解决办法
10万
查看次数

标签 统计

sql ×1