这是我尝试过的查询:-
select firstname,
salesamt,
avg(salesamt)
from salesperson sp, salesfact s
where sp.salespersonkey=s.salespersonkey and month(birthdate)=month(now())
group by firstname;
答案 0 :(得分:0)
如果拳头名称需要平均值,则不应在select子句中添加saleamnt
select firstname
,avg(salesamt)
from salesperson sp
INNER JOIN salesfact s ON sp.salespersonkey=s.salespersonkey
and month(birthdate)=month(now())
group by firstname;
如果您在汇总函数和分组依据中使用同一列,则无法获得汇总结果
并且您不应该使用基于where子句的较旧的隐式连接正税,而应该使用基于INNER JOIN的较新的显式连接正税
答案 1 :(得分:0)
您可以尝试使用内部联接,但是从表中似乎看不到任何记录 因为一个用户在当月只有生日,而他在salesfacta表中没有记录
select firstname,avg(salesamt) from salesperson sp inner join
salesfact s on sp.salespersonkey=s.salespersonkey
where month(birthdate)=month(now())
group by firstname