[求助]一道上机课的题,老师是否是白痴?
这是一道Oracle上机课时候的题目,我们课下写成上机报告交给老师.老师判完后在课上提到,说没人做对......
表:
SP
sp_id char(4) 商品号 主键
price money 单价
XS
id number(4) 售货单号 主键
sp_id 外键
numb number(3) 销售数量
xs_date date 日期
原题:
求每种商品的总销售量和总销售金额
大家写的是:
select XS.sp_id,sum(numb) as 总数量,sum(numb* price) as 总价格
from XS,SP
where XS.sp_id=SP.sp_id
Group by XS.sp_id;
而老师的说法是,sum(numb*price)不正确,要换成sum(numb)*price,而因为用到Group,price不是聚合函数的
所以要改成sum(numb)*avg(price),因为每种商品的price只有一个,所以avg(price)就等于price
而我们的答案统统算错
因为我家里的机器上没有Oracle,所以用SQL Server代替,字段类型有所变化,但语句没变,应该不影响结果.
得出的结论是这两种方法的结果是一样的.
到底是有更深层的区别呢,还是我们老师是个白痴呢?(事实证明她经常有错误)