mysql - 替换子查询

标签 mysql database

我试图根据画家的身份证号码,在扣除画廊佣金后显示该画家的总收入。这是我目前所拥有的:

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

任何额外信息将应要求提供。在此先感谢您的帮助!

ERD... enter image description here

最佳答案

假设绘画表中的所有记录都是“已售出”绘画,因此应该汇总(求和)到收入中。

这是基于每幅画计算收入,然后按数字和名字分组汇总

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/

相关文章:

mysql - 在 laravel5 中打印 mysql 查询

mysql - 在 MySQL 中检查时间戳是否来自今天

php - 在 Laravel 中将数据绑定(bind)到 DB::raw()

database - java 7 和 8 之间重载函数的源代码兼容性

php - 从数据库中获取随机数据,无需刷新页面

php - Postgres/PHP - 检索插入行 ID 的标准方法是什么?

database - 将 RDS Postgres 与 Heroku 一起使用有多安全?

mysql - 如何将一个容器中的 mysql 数据库绑定(bind)到运行我的 django 博客应用程序的另一个容器(使用 docker-compose)

mysql - MySQL 中有什么事务?

database - DBI 是 Perl 中访问数据库的唯一方法吗