1
嗨,我有過程,它是工作,看起來像SQL過程,它應該顯示總
create procedure sp_CountPickupsduringYearReportA1A2
@MyYear int
AS
SELECT
MAX(a.AgencyName),
COUNT(PickupID) as YearTotal,
COUNT(PickupID)/(CASE WHEN YEAR(GETDATE()) [email protected] THEN MONTH(GETDATE()) ELSE 12 END) as MoAvg,
SUM(CASE WHEN DATEPART(month, PickupDate) = 1 THEN 1 ELSE 0 end) as Jan,
SUM(CASE WHEN DATEPART(month, PickupDate) = 2 THEN 1 ELSE 0 end) as Feb,
SUM(CASE WHEN DATEPART(month, PickupDate) = 3 THEN 1 ELSE 0 end) as Mar,
SUM(CASE WHEN DATEPART(month, PickupDate) = 4 THEN 1 ELSE 0 end) as Apr,
SUM(CASE WHEN DATEPART(month, PickupDate) = 5 THEN 1 ELSE 0 end) as May,
SUM(CASE WHEN DATEPART(month, PickupDate) = 6 THEN 1 ELSE 0 end) as Jun,
SUM(CASE WHEN DATEPART(month, PickupDate) = 7 THEN 1 ELSE 0 end) as Jul,
SUM(CASE WHEN DATEPART(month, PickupDate) = 8 THEN 1 ELSE 0 end) as Aug,
SUM(CASE WHEN DATEPART(month, PickupDate) = 9 THEN 1 ELSE 0 end) as Sep,
SUM(CASE WHEN DATEPART(month, PickupDate) = 10 THEN 1 ELSE 0 end) as Oct,
SUM(CASE WHEN DATEPART(month, PickupDate) = 11 THEN 1 ELSE 0 end) as Nov,
SUM(CASE WHEN DATEPART(month, PickupDate) = 12 THEN 1 ELSE 0 end) as Dec
FROM dbo.Pickup p join Agency a on p.agencyid = a.agencyid
where DATEPART(year, PickupDate) = @MyYear
group by a.AgencyID
order by a.AgencyID
這是工作完美魯喜歡
name YearTotal MoAvg 1, 2, 3, 4, 5, 6, 7,8,9,10,11,12
test 13 1 1 1 1 1 1 1 1 1 1 1 1 1 2
我需要顯示總爲每列迴應外觀簡單的總結爲每列像somthing
name YearTotal MoAvg 1, 2, 3, 4, 5, 6, 7,8,9,10,11,12
total 25 2 2 2 2 2 2 2 2 2 2 2 2 2 3
test 13 1 1 1 1 1 1 1 1 1 1 1 1 1 2
test 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1
任何想法如何做到這一點? 我試圖解決這個難題了幾個小時仍無法想通了
它可行,但可能需要與Web開發人員進行交談。由於 – Andrey 2013-04-25 01:36:41
@AndreyIvanov - 希望這有助於:http://sqlfiddle.com/#!3/ce45b/1最好的問候。 – sgeddes 2013-04-25 01:44:56