在T-SQL中再次加入,分组和加入

时间:2013-03-27 18:49:25

标签: sql-server tsql join group-by subquery

我有问题正确地查询这种需求。我希望有人能清醒过来。

假设我有这三个表:

A-表

Column1|Column2

B-表

Column3|Column4

C-表

Column5|Column6

首先,这些表A和B应在A-TABLE.Column1 = B-TABLE.Column3时保持连接状态。此表也应该使用WHERE子句进行过滤,因为我不需要所有行。

然后,有必要按此新连接表进行分组,以便在此之后我得到包含SUM() B-TABLE.Column3 A-TABLE.Column1分组的表。

所以,在此之后,我应该将表连接到C-TABLE,以便C-TABLE.Column5 = A-TABLE.Column1

我希望有人可以帮助我实现目标吗?

1 个答案:

答案 0 :(得分:1)

这符合您的规格:

;With SomeCTE As
(
    Select A-TABLE.Column1
         , Sum(C-TABLE.Column3) As SomeSum
      From C-TABLE
      Left Join A-TABLE On C-TABLE.Column3 = A-TABLE.Column1
     --Where ...
     Group By A-TABLE.Column1
)
Select Column1
     , Column5
     , SomeSum
  From SomeCTE
 Inner Join C-TABLE On SomeCTE.Column1 = C-TABLE.Column5