2012-02-17 5 views
0

私は、属性量を合計し、名前でグループ化する結合テーブルを持っています。別のフィールドを考慮しながら、1つのフィールドでグループを使用してMysqlを合計

joined_tb 
name  attr  amount 
billy  'attr1'  2 
billy  'attr2'  4 
billy  'attr1'  7 
billy  'attr3'  8 
jean  'attr2'  6 
jean  'attr1'  1 
jean  'attr2'  11 

このテーブルには、私は、このテーブルで終わるしたいid

t1     t2 
id name   id attr  amount 
1 billy   1  'attr1' 2 
2 jean   1  'attr2' 4 
        1  'attr1' 7 
        1  'attr3' 8 
        2  'attr2' 6 
        2  'attr1' 1 
        2  'attr2' 11 

を使用して、これらの2つのテーブル間の結合の結果である:

result_tb 
name  attr  amount 
billy  'attr1'  9 
billy  'attr2'  4 
billy  'attr3'  8 
jean  'attr1'  1 
jean  'attr2'  17 

私がすることによって合計することができていますattrですが、それはnameを無視します。 result_tbt1からt2に変更するにはどうすればよいですか?

+0

使用グループの列のグループのためにより:ATTR、名前を –

答えて

3

これを試してみてください:

select t1.name, t2.attr, sum(t2.amount) from t1 
join t2 on t1.id = t2.id 
group by t1.name, t2.attr 
1

を下にしてみてください。

SELECT t1.name, t2.attr, sum(t2.amount) as totalamount 
FROM table1 as t1 LEFT JOIN table2 as t2 on t1.id = t2.id 
group by t1.name, t2.attr 
関連する問題