我正在寻找一种方法来“加入”两个查询的结果。预期结果是一行有两个聚合SumValueA
和SumValueB
。
这两个查询中的每一个只返回一行。 JOIN
将不起作用,因为两个表都没有任何共同的数据。
我正在使用SQL Server 2017。
查询1:
SELECT Sum(ValueA) AS SumValueA
FROM dbo.TableA
查询2:
SELECT Sum(ValueB) AS SumValueB
FROM dbo.TableB
SELECT (SELECT Sum(ValueA) FROM dbo.TableA) AS SumValueA,
(SELECT Sum(ValueB) FROM dbo.TableB) AS SumValueB
你可以使用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中的所有行。这导致笛卡尔积。