我正在使用 SQL Server 2008 R2 并尝试对不同的列进行多次计数,但不知道如何让它正常工作。我有两个独立工作的查询,但在尝试组合它们时遇到了麻烦。在通过@StartDate 和@EndDate 时,尝试计算每个单独日期打开和关闭的票证数量。
例如,这是我的第一个查询:(我们分配了某些代码来区分创建票证的不同原因,只是想把它扔在那里以防该行造成任何混乱。而且我们的日期是日期时间格式,因此使用 CAST)
SELECT
Cast(CreateDate AS Date) AS 'Date',
Count(CreateDate) AS '# Created'
FROM dbo.Tickets
WHERE
Cast(CreateDate AS Date) >= @StartDate and
Cast(CreateDate AS Date) <=@EndDate and
(Reason >= 36 and Reason <= 41 OR Reason = 17)
GROUP BY Cast(CreateDate AS Date)
ORDER BY 'Date'
这会产生以下结果:
Date # Created
---------- -------------
5/1/2013 396
5/2/2013 418
5/3/2013 288
5/4/2013 28
5/5/2013 100
我的第二个查询与“创建日期”查询完全相同,只是在“创建日期”所在的位置替换为“已解决日期”。但是,在 2013 年 5 月 4 日没有解决任何问题。
如何将这两个查询合二为一,并让它返回如下所示的结果集?
Date # Created # Resolved
---------- ------------- -------------
5/1/2013 396 400
5/2/2013 418 322
5/3/2013 288 280
5/4/2013 28 0
5/5/2013 100 11
我认为让我失望的部分是表中没有 5/4/2013 的解决日期。任何帮助将非常感激。谢谢!