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