MySQL запрос для суммирования значений в другой таблице - PullRequest
3 голосов
/ 02 декабря 2010

У меня есть пара таблиц с отношениями родитель-потомок. Я хочу применить функцию суммы к одному столбцу дочерней таблицы и вернуть ее со всеми данными родительской таблицы, например.

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_table с дополнительным столбцом, то есть суммировать значения column_to_sum в Child_table для каждого элемента в parent_table, соответствующего идентификатору.

Как?

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010
    SELECT p.ID,
      p.Date,
      p.Title,
      SUM(c.column_to_sum) Total
    FROM Parent_Table p LEFT JOIN
       Child_Table c ON p.ID = c.ID
    GROUP BY p.ID
2 голосов
/ 02 декабря 2010

Это с моей головы, но как насчет

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
...