如何从这些表构建我的SQL查询?

时间:2011-01-13 14:05:52

标签: sql tsql

我正在考虑从这两个表构建查询(在SQL Server 2008上)。我有2个表,如下所示:

表1

 MemberId  . MemberName .  Percentage .  Amount1
 00000001    AAA                 1.0     100
 00000002    BBB                 1.2     800
 00000003    ZZZ                 1.0     700

表2

 MemberId  . MemberName .  Percentage .  Amount2
 00000002    BBB                 1.5     500
 00000002    BBB                 1.6     100
 00000002    BBB                 1.6     150

我想要的结果是

 MemberId  . MemberName .  Percentage .  Amount . NettAmount
 00000001    AAA                 1.0      100     100
 00000002    BBB                 1.2      800      50 <-- 800-(500+100+150)
 00000002    BBB                 1.5      500     500
 00000002    BBB                 1.6      250     250
 00000003    ZZZ                 1.0      700     700

50来自表1中的800减去表2中Amount2的总和,用于MemberID = 00000002

Plz有人帮我构建查询以达到此结果。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

你需要做的是这样的事情:

  1. 从Table1中选择
  2. 从表2中选择GROUP BY
  3. 通过MemberId加入这两个查询的结果
  4. SQL代码:

    SELECT ... FROM Table1
    INNER JOIN (SELECT MemberId, SUM(Amount2) FROM Table2 GROUP BY MemberId) Agg
    ON Table1.MemberId = Agg.MemberId
    

    然后你应该能够选择&#34; Amount1 - Amount2&#34;来自加入。

    HTH。

相关问题