2010-12-02 12 views
3

親子関係を持つテーブルが2つあります。私は、子テーブルの1つの列に合計関数を適用し、たとえば親テーブルのすべてのデータで返したいと思います。クエリの別のテーブルの値を合計するためのMySQLクエリ

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 

出力IDにマッチPARENT_TABLEの各項目についてChild_tablecolumn_to_sumの値を合計、つまり、追加の列とparent_tableのすべての列を返すべきです。

どのようにですか?

答えて

3
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 
+0

まず、コードを正しくフォーマットしてみてください。 ht ecode burron 010101を使用してください。また、あなたの** GROUP BY **はどうですか?ソリューションのおかげで –

+0

ありがとう –

2

これは私の頭の上からですが、1列のみのグループは、それまでにオーダーを使用する方法について

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 
+1

あなたはそれがp.ID BY '異なりGROUPをソートしたい場合は、 ORDER BY p.Date、p.Title' – zanlok

関連する問題