【问题标题】:join, group and join again in T-SQL在 T-SQL 中加入、分组和再次加入
【发布时间】:2013-03-27 18:49:24
【问题描述】:

我无法正确查询这种需求。希望有人能理清思路。

假设我有这三个表:

表格

Column1|Column2

B 表

Column3|Column4

C 表

Column5|Column6

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

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

因此,在此之后我应该将表加入 C-TABLE 以便C-TABLE.Column5 = A-TABLE.Column1

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

【问题讨论】:

  • 您能否发布一些针对每个表的示例数据,然后发布所需的查询结果?如果我们能看到您对查询所做的任何尝试,这也会很有帮助。

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


【解决方案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

【讨论】:

  • 非常感谢多米尼克。这个解决方案帮助我归档了我正在寻找的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多