我正在运行的查询出现问题。我想显示满足以下条件的所有员工的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名员工。 有人知道我做错了吗?
任何帮助都将不胜感激,谢谢。
答案 0 :(得分: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;