2013-07-17 71 views
0

我有一個存儲過程,我想返回三個列其中將包含根據今天的日期只記錄的計數,這周和當月返回三列從存儲過程

SELECT count(*) as TotalCount 
FROM CalendarItem t 
LEFT JOIN company c ON t.companyID = c.companyID AND c.enabled = 1 
INNER JOIN CalendarItemType tt ON tt.CalendarItemtypeID = t.CalendarItemTypeID 
LEFT JOIN request r ON r.requestID=t.workrequestID 

where t.deleted = 0 + @where 

而且curretnly我被傳遞不同ARG

@where =AND (t.startDate BETWEEN '2013-7-17' AND '2013-7-18') 

和周

@where = AND (t.startDate BETWEEN '2013-7-14 00:00:00' AND '2013-7-20') 
執行該SP三個時間今日一週和一個月

和同爲一個月

我希望我的SP返回三條罪狀根據今天的日期,星期日期和月份

因此,任何想法,我應該怎麼做呢

感謝

回答

1

請嘗試:

SELECT 
    sum(case when t.startDate BETWEEN '2013-7-17' AND '2013-7-18' then 1 else 0 end) as DayCount, 
    sum(case when t.startDate BETWEEN '2013-7-14' AND '2013-7-20' then 1 else 0 end) as WeekCount, 
    //month condition here 
FROM CalendarItem t 
LEFT JOIN company c ON t.companyID = c.companyID AND c.enabled = 1 
INNER JOIN CalendarItemType tt ON tt.CalendarItemtypeID = t.CalendarItemTypeID 
LEFT JOIN request r ON r.requestID=t.workrequestID 

where t.deleted = 0 
+0

非常感謝@techdo你救了我的一天.. –

+0

不客氣@ G.SBhangal :) – TechDo

1

通行證將三個輸出參數存儲到存儲過程中,並將其值設置爲sp,然後輕鬆將其取回回來