SQL server 子查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 22:19:56
商品表part和订单表orders信息如下
partNUM partName Price
----------- ------------------------- ---------------------------------------
1 呵呵呵 100.00
2 哈哈哈 100.00
3 鹅鹅鹅 55.00
4 啊啊啊 23.00
5 哦哦哦 220.00

oID quantity partNUM
----------- ----------- -----------
1 3 2
2 15 1
3 30 3
4 100 5
5 7 4
6 77 3
7 60 2
8 12 5
9 30 1
10 66 3

运行下列SQL语句:
print '分组的总和列'
SELECT O.partNUM,总和=SUM(O.quantity*P.price)
from orders O,part P where P.partNUM = O.partNUM group by O.partNUM
print '总的平均值列'

后面一个是正确的(不加AND P1.partNUM = O.partNUM )
前面一个是和每项的平均数比较,而不是4511.6
比如partNum=1的平均数:(15*100+30*100)/2=2250, 4500>2250所以这一项在查询结果中,而partNum=4的平均数:(7*23)/1=161, 161不是>161所以这一项不在查询结果中。