连接来自多个不相关的 1 行结果集中的列

Jus*_*ant 3 sql-server t-sql

假设我在 SQL Server 2014 中有这两个查询,它们都从不相关的表中返回一行:

SELECT SUM(A) A, SUM(B) B FROM X
SELECT SUM(C) C, SUM(D) D FROM Y
Run Code Online (Sandbox Code Playgroud)

我想将这些查询组合成一个包含A, B, C, D.

在单个查询中执行此操作的好方法是什么,而不是像在标量变量中选择结果这样的多查询解决方案?

Mis*_*goo 6

两个子查询?

SELECT Q1.A, Q1.B, Q2.C, Q2.D
FROM (SELECT SUM(A) A, SUM(B) B FROM @X) Q1(A, B)
CROSS APPLY (SELECT SUM(C) C, SUM(D) D FROM @Y) Q2(C, D);
Run Code Online (Sandbox Code Playgroud)