我试图根据画家的身份证号码,在扣除画廊佣金后显示该画家的总收入。这是我目前所拥有的:
SELECT painter.ptr_num, painter.ptr_firstname, (SUM() -
(gallery.gal_rate*painting.ptng_price)) AS Earnings
FROM painting,painter,gallery
GROUP BY painter.ptr_num
您可能已经注意到,总和为空,这是因为我能想到的实现上述目标的唯一方法是使用子查询。
这里是求和必须包含的Painting表:
绘画
Ptng_Price Ptr_Num
24 100
85 101
34 102
17 103
任何额外信息将应要求提供。在此先感谢您的帮助!
最佳答案
假设绘画表中的所有记录都是“已售出”绘画,因此应该汇总(求和)到收入中。
这是基于每幅画计算收入,然后按数字和名字分组汇总
SELECT P.ptr_num,
P.ptr_firstname,
sum(obj.ptng_price - (G.gal_rate*obj.ptng_price)) AS Earnings
FROM painting obj
INNER JOIN painter P
on obj.Ptr_num = P.Ptr_num
INNER JOIN gallery G
on obj.Gal_num = G.Gal_Num
GROUP BY P.ptr_num,
P.ptr_firstname,
关于mysql - 替换子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32015754/