0
Id       Item
--------------
1        ItemA 
2        ItemB
3        ItemC

itemid     Price
----------------
1          4
1          3
1          9
2          2
2          4
2          3

2つのテーブルから合計で選択するにはどうすればよいですか? 次のように:

ItemA 16
ItemB 9
ItemC 0
4

3 に答える 3

3

JOIN使用してテーブルを作成しLEFT JOIN、集計関数SUM()priceフィールドに適用できます。

select t1.item, IsNull(sum(t2.price), 0) total
from table1 t1
left join table2 t2
  on t1.id = t2.itemid
group by t1.item

デモで SQL Fiddle を参照してください

これLEFT JOINにより、2 番目のテーブルにないレコードを最終結果に含めることができます。に を追加しIsNull()て、値をゼロsum()に置き換えました。null

結果:

|  ITEM | TOTAL |
-----------------
| ItemA |    16 |
| ItemB |     9 |
| ItemC |     0 |
于 2012-11-20T11:16:00.663 に答える
1

してみてください:

select a.Item, ISNULL(SUM(b.Price), 0) AS TOTALSum
from Table1 a LEFT JOIN Table2 b on a.Id=b.ItemId
Group by a.Item
于 2012-11-20T11:16:00.860 に答える
1

これを試して

select item,sum(price) from table1 left outer join table2 
 on table1.id=table2.itemid
 group by item
于 2012-11-20T11:17:34.057 に答える