从两个单独的表中加入两个聚合

问题描述 投票:0回答:2

我正在寻找一种方法来“加入”两个查询的结果。预期结果是一行有两个聚合SumValueASumValueB

这两个查询中的每一个只返回一行。 JOIN将不起作用,因为两个表都没有任何共同的数据。

我正在使用SQL Server 2017。

查询1:

SELECT Sum(ValueA) AS SumValueA
FROM dbo.TableA

查询2:

SELECT Sum(ValueB) AS SumValueB
FROM dbo.TableB
sql sql-server tsql
2个回答
2
投票
SELECT  (SELECT Sum(ValueA) FROM dbo.TableA) AS SumValueA,
        (SELECT Sum(ValueB) FROM dbo.TableB) AS SumValueB


1
投票

你可以使用cross join

SELECT sumvalueA, sumvalueB
  FROM (SELECT Sum(ValueA) AS SumValueA
          FROM dbo.TableA) a
       CROSS JOIN (SELECT Sum(ValueB) AS SumValueB
FROM dbo.TableB)

交叉连接显示子查询a中的所有行以及子查询b中的所有行。这导致笛卡尔积。

© www.soinside.com 2019 - 2024. All rights reserved.