mysql - 总和列与连接表的总和

标签 mysql sql

我有两个表 appointments 和 line_items。

appointments 
id integer primary key 
price decimal

line_items 
id integer primary key 
price decimal 
appointment_id integer foreign key

我需要获取 appointments.price 的总和以及相关联的 line_items 价格总和。

比如我有2个约会

id price 
1 10 
2 15

和订单项

id price appointment_id
1  10    1
2  15    1
3  10    2
3  20    2

总结果应该是 (10 + (10 + 15)) + (15 + (10 + 20))

目前我正在尝试这个查询。但它不起作用。

SELECT SUM(appointments.price + sum(line_items.price)) AS total_sum
FROM `appointments`
  INNER JOIN 'line_items' ON 'line_items'.'appointment_id' = 'appointments'.'id'

最好的方法是什么?子查询 line_items.price 总和或连接总和 line_items.price。或者有其他更好的解决方案?

提前致谢!

最佳答案

我认为您正在寻找的是派生表中的 SUM() GROUP BY,然后是带有 appointmentsjoin。像这样。

SELECT SUM(appointments.price + line_items.price) AS total_sum
FROM appointments
 INNER JOIN 
(
SELECT line_items.appointment_id,SUM(price) as price
line_items
GROUP BY appointment_id 
) line_items ON line_items.appointment_id = appointments.id

关于mysql - 总和列与连接表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321926/

相关文章:

sql - PostgreSQL 无法识别列

使用 ROLLUP 的 MySQL 查询出现错误

mysql替换字符串中大括号中的正则表达式

javascript - Web SQL 向多行插入数据

sql - 需要数据库设计建议

SQL Server - 带有声明变量的 In 子句

php - 从 mysql 表中选择每个变量的最新(截至某个日期)记录

java - 使用准备好的语句将字段更新到 php 数据库

mysql - 将新字段添加到预先存在的表中并修改先前在 Rails 中创建的数据

php - 如何使用MySQL和PHP每天增加一个值?