求每个供应商超过其提供零件数量均值的零件号,输出SNO,PNO(输出内容不重复)。
时间: 2024-10-09 09:04:10 浏览: 71
spj查询零件、工程、供应商查询
这个问题是在数据库查询背景下提出的,目的是找出那些供应商提供的某些零件的数量超过了他们所有零件平均数量的记录。具体来说,你需要找到:
1. **SNO**(供应商编号),即供应商的信息标识符;
2. **PNO**(零件号),即供应商提供的特定零件的识别码。
要实现这个结果,通常会涉及两个步骤:
1. 计算每个供应商提供的所有零件的平均数量。
2. 查询供应商提供的零件,筛选出数量大于平均数量的记录,并去重(只保留一次SNO和PNO组合)。
这需要SQL查询,示例如下(假设有一个名为`Suppliers`的表包含供应商信息,另一个名为`Parts`的表包含供应商提供的零件信息,其中`SNO`, `PNO`分别对应供应商编号和零件号,`QTY`表示数量):
```sql
WITH SupplierAverages AS (
SELECT SNO, AVG(QTY) as AverageQty
FROM Parts
GROUP BY SNO
)
SELECT DISTINCT P.SNO, P.PNO
FROM Parts P
JOIN SupplierAverages SA ON P.SNO = SA.SNO
WHERE P.QTY > SA.AverageQty
```
阅读全文