2

我希望在一个语句中添加两个值,我目前不知道如何去做,这应该很简单,这是我的陈述:

 SELECT COUNT(UserModified) as SecondTally
 FROM JobAgents 
 WHERE UserModified = 1

然后从下面的值中减去上面的值。

 SELECT SUM(EmailsSent) as FirstTally
 FROM JobAgentEmails
 WHERE Date BETWEEN '7/1/2012 12:00:00 AM' AND '7/31/2012 11:59:59 PM'

对此的任何帮助将不胜感激。谢谢一堆。

4

4 回答 4

3

最简单的方法是简单地将结果与两个子查询组合,这些子查询可以存储在变量中,也可以简单地组合在一个查询中,如下所示:

SELECT
  (SELECT SUM(EmailsSent) as FirstTally
   FROM JobAgentEmails
   WHERE Date BETWEEN '7/1/2012 12:00:00 AM' AND '7/31/2012 11:59:59 PM')
- (SELECT COUNT(UserModified) as SecondTally
   FROM JobAgents 
   WHERE UserModified = 1)
于 2012-08-27T18:55:15.807 回答
2

您可以使用交叉连接来执行此操作,将值组合在一起:

select jae.FirstTallyl - ja.SecondTally
from (SELECT COUNT(UserModified) as SecondTally
      FROM JobAgents
      WHERE UserModified = 1
     ) ja cross join
     (SELECT SUM(EmailsSent) as FirstTally
      FROM JobAgentEmails
      WHERE Date BETWEEN '7/1/2012 12:00:00 AM' AND '7/31/2012 11:59:59 PM'  
    ) jae
于 2012-08-27T18:56:29.123 回答
1

这是一种方法:

DECLARE @FirstTally int;
DECLARE @SecondTally int;

SELECT @SecondTally = COUNT(UserModified) 
 FROM JobAgents 
 WHERE UserModified = 1

 SELECT @FirstTally = SUM(EmailsSent) 
 FROM JobAgentEmails
 WHERE Date BETWEEN '7/1/2012 12:00:00 AM' AND '7/31/2012 11:59:59 PM'


SELECT @FirstTalley - @SecondTalley AS Result   
于 2012-08-27T18:55:24.700 回答
1
 select 
 (SELECT SUM(EmailsSent) as FirstTally
 FROM JobAgentEmails
 WHERE Date BETWEEN '7/1/2012 12:00:00 AM' AND '7/31/2012 11:59:59 PM')
 -

 (SELECT COUNT(UserModified) as SecondTally
 FROM JobAgents 
 WHERE UserModified = 1)

 AS 'result';
于 2012-08-27T18:56:44.770 回答