Join 连接两个计数查询

Join 连接两个计数查询,join,count,Join,Count,所以这就是我所处的位置(这正是我所需要的)。然而,这只是项目的第一步。因此,我们的目标是通过ODBC到excel将查询结果显示在工作表1上(从未这样做过,因此需要进行大量研究)。一旦在excel中显示,用户将能够将日期范围输入到…比如A1或B1(在设计中还不确定)。到目前为止,这真的很好。因此,现在我希望制作第二张包含更多信息的表格,而不是刚刚失败/成功。第二张工作表将与第一张工作表完全相同,只显示更多细节。这只适用于失败的情况 SELECT Sum(case when status = 6 t

所以这就是我所处的位置(这正是我所需要的)。然而,这只是项目的第一步。因此,我们的目标是通过ODBC到excel将查询结果显示在工作表1上(从未这样做过,因此需要进行大量研究)。一旦在excel中显示,用户将能够将日期范围输入到…比如A1或B1(在设计中还不确定)。到目前为止,这真的很好。因此,现在我希望制作第二张包含更多信息的表格,而不是刚刚失败/成功。第二张工作表将与第一张工作表完全相同,只显示更多细节。这只适用于失败的情况

SELECT Sum(case when status = 6 then 1 else 0 end) as Failed,
       Sum(case when status = 9 then 1 else 0 end) as Successful,
   UniqueID
Into #tempsheet1
FROM Documents
WHERE ownerID = 467
and status in (6,9)
and CreationTime between @StartDate and @EndDate
Group By UniqueID

Select D.UniqueID, FromName, ToName, CreationTime,
cast(CreationTime as date) as CreationDate, cast(CreationTime as date) as CreationTime,
ErrorCode, ElapsedSendTime, RemoteID
From #tempsheet1 ts1
Inner Join Documents D On
D.UniqueID = ts1.UniqueID
and [Status] = 9

您只需选择这两个查询,就可以在一个表中获得该值

SELECT 
(SELECT COUNT([Status]) as Failed
into #tempfailed
FROM Documents
Where ownerid = '467'
and [Status] = '6') sa FAILED,
(SELECT COUNT([Status]) as Successful
FROM Documents
Where ownerid = '467'
and [Status] = '9') as Sucess

您只需选择这两个查询,就可以在一个表中获得该值

SELECT 
(SELECT COUNT([Status]) as Failed
into #tempfailed
FROM Documents
Where ownerid = '467'
and [Status] = '6') sa FAILED,
(SELECT COUNT([Status]) as Successful
FROM Documents
Where ownerid = '467'
and [Status] = '9') as Sucess

您可以使用条件聚合和总和与计数

SELECT Sum(case when status = 6 then 1 else 0 end) as Failed,
       Sum(case when status = 9 then 1 else 0 end) as Successful,
       cast(CreationTime as date) CreationDate
FROM Documents
WHERE ownerID = 467
  and status in (6,9)
  and CreationDate between @StartDate and @EndDate
GROUP BY cast(CreationTime as date) CreationDate
ORDER BY cast(CreationTime as date) descending
由于两个查询都使用documents表和相同的ownerID筛选器,所以我们可以在where子句中筛选owerID。我在where caluse中添加了状态6,9,因为我们可能有很多其他状态我们不关心,为什么还要费心评估它们呢


总和(案例评估状态,当6失败时将计数器设置为1,否则将计数器设置为0)这样,所有1和0的总和将导致失败或成功的“计数”

您可以使用条件聚合和总和与计数

SELECT Sum(case when status = 6 then 1 else 0 end) as Failed,
       Sum(case when status = 9 then 1 else 0 end) as Successful,
       cast(CreationTime as date) CreationDate
FROM Documents
WHERE ownerID = 467
  and status in (6,9)
  and CreationDate between @StartDate and @EndDate
GROUP BY cast(CreationTime as date) CreationDate
ORDER BY cast(CreationTime as date) descending
由于两个查询都使用documents表和相同的ownerID筛选器,所以我们可以在where子句中筛选owerID。我在where caluse中添加了状态6,9,因为我们可能有很多其他状态我们不关心,为什么还要费心评估它们呢



总和(案例评估状态,当6失败时将计数器设置为1,否则将计数器设置为0)这样,所有1和0的总和将导致失败或成功的“计数”

这几乎就是我想要的。我最终要将ODBC设置为excel,因此我需要从select语句中删除JoiningValue列(我知道需要连接),但我无法将其显示在屏幕上。是否可以将创建日期参数添加到此中?日期参数是什么意思@约会?那是为了什么?我明白你在上面的意思了,你可以在查询的末尾添加
date
datetime
范围,例如:
其中A.datetime
date
datetime
范围,例如:
其中A.datetime