0

我正在运行的查询有问题。我想显示满足以下条件的所有员工的 Empcode、Empname 和邮政编码:他们出售的每个库存商品的价格值都高于所有库存商品的平均值。

所以这是我的查询:

select distinct SU.empCode, SU.empName, SU.PostCode
from Suppliers SU, Stocks ST
where ST.Price >= (select AVG(Price) from Stocks ST)

我让所有员工都回来了(总共 6 名),但正确答案是 2 名员工。有人知道我做错了什么吗?

任何帮助将不胜感激,谢谢。

4

1 回答 1

1

这应该工作

select empCode, empName, PostCode
  from (select SU.empCode, SU.empName, SU.PostCode, min(st.Price) over (partition by su.empcode) min_price,
               avg(st.price) over () avg_price
          from Suppliers SU, Stocks ST
         where SU.empcode = ST.empcode)
 where min_price > avg_price;
于 2012-11-29T16:48:47.033 回答