0
我正在使用SQL Server 2008 R2,並試圖對不同列進行多次計數,但無法弄清楚如何使其正常工作。我有兩個獨立工作的查詢,但在嘗試組合它們時遇到了麻煩。試圖通過@StartDate和@EndDate計算每個日期期間打開和關閉的票數。按日期在多列上計數函數(SQL Server)
例如,這裏是我的第一個查詢:(我們分配特定的代碼來區分票據創建的不同原因,只是想在那個行造成任何混淆的情況下拋出它,我們的日期也是日期時間格式,因此使用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) <[email protected] 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
我的第二個查詢是完全相同的「創建日期」查詢,只需替換爲「解析日期」的地方「CREATEDATE」位於。但是,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。任何幫助將非常感激。謝謝!
您需要像在'ON'子句中那樣在'CASE's中投射日期。 – HABO
是的,我願意。謝謝。編輯。 –
太棒了!我得到它完美的工作!非常感謝你的幫助!甚至沒有想過使用CTE :) – Grummer21