用于对另一个表中的值求和的MySQL查询

用于对另一个表中的值求和的MySQL查询,mysql,join,inner-join,Mysql,Join,Inner Join,我有两张有父子关系的表。我想对子表的一列应用一个sum函数,并返回它和父表的所有数据 Parent_table ID, Date, Title Child_table ID, another_id, column_to_sum //(ID is foreign key pointing to Parent_table) Sample Data in Parent_table 1, 22-11-2010 00:00:00 , 'Some Title' 2, 13-11-2010 00:00:0

我有两张有父子关系的表。我想对子表的一列应用一个sum函数,并返回它和父表的所有数据

Parent_table
ID, Date, Title

Child_table
ID, another_id, column_to_sum
//(ID is foreign key pointing to Parent_table)

Sample Data in Parent_table
1, 22-11-2010 00:00:00 , 'Some Title'
2, 13-11-2010 00:00:00 , 'Some Title 2'

Sample Data in Child_table
1, 1, 10
1, 2, 11
1, 8, 3
2, 5, 11
2, 8, 6
查询的输出应返回
parent_表
中的所有列,并增加一列,即将
column_的值相加到
Child_表
中与ID匹配的父_表中的每个项的总和


怎么做?

这是我想不出来的,但是怎么样

SELET p.ID,
  p.Date,
  p.Title,
  SUM(c.column_to_sum) Total
FROM Parent_Table p INNER JOIN
   Child_Table c ON p.ID = c.ID
GROUP BY p.ID,
      p.Date,
      p.Title

这并不能完全回答问题,但可能会帮助某些人,因为这是我的解决方案。(我知道它缺少连接)并且不知道这个解决方案在大型数据库上的效率

SELECT 
    Parent_table.*,
        (SELECT 
            SUM(Child_table.column_to_sum) 
        FROM Child_table 
        WHERE Child_table.id = Parent_table.id)
FROM Parent_table

首先,尝试正确格式化代码。使用ht ecode burron 010101。另外,您的分组依据是什么?您应该只按一列进行分组,然后使用order BY(按p.ID分组)如果您希望按p.Date、p.Title进行不同排序

SELECT 
    Parent_table.*,
        (SELECT 
            SUM(Child_table.column_to_sum) 
        FROM Child_table 
        WHERE Child_table.id = Parent_table.id)
FROM Parent_table