在SQL中计算两个标量查询

在SQL中计算两个标量查询,sql,sql-server,Sql,Sql Server,我试图得到两个sum()查询的差。这就是我想弄明白的代码的想法 (SELECT sum(depamt) FROM Daily1) - (SELECT sum(depamt) FROM Daily2) 我尝试声明变量,但无法将select的结果放入变量中。有没有办法做到这一点 只需在前面放置一个SELECT: SELECT (SELECT sum(depamt) FROM Daily1) - (SELECT sum(depamt) FROM Daily2); 我更喜欢将子查询放在FROM子

我试图得到两个sum()查询的差。这就是我想弄明白的代码的想法

(SELECT sum(depamt)  FROM Daily1) - (SELECT sum(depamt)  FROM Daily2)

我尝试声明变量,但无法将select的结果放入变量中。有没有办法做到这一点

只需在前面放置一个
SELECT

SELECT (SELECT sum(depamt) FROM Daily1) - (SELECT sum(depamt) FROM Daily2);
我更喜欢将子查询放在
FROM
子句中:

SELECT sum1 - sum2
FROM (SELECT sum(depamt) as sum1 FROM Daily1) x CROSS JOIN
     (SELECT sum(depamt) as sum2 FROM Daily2) y;
如果愿意,这允许您单独选择每个值

我尝试声明变量,但无法得到 在变量中选择。有没有办法做到这一点

要使用变量执行此操作,请执行以下操作:

Declare @Sum1 int, @Sum2 int

SELECT  @Sum1 = sum(depamt) FROM Daily1
SELECT  @Sum2 = sum(depamt) FROM Daily2

Select  @Sum1 -  @Sum2

谢谢你,戈登。为什么要使用交叉连接?就为了让你把这两个查询的结果放在一起?@Missy。如果需要,它允许您查看计算中的每个值,而无需重复子查询。谢谢,Gordon。我感谢你的帮助:)