我有一个与我之前发布的这个问题有关的问题:-
通过 StoredProcedure 搜索每日/每周/每月记录计数
我希望每周和每月的通话计数,每天的问题得到解决。
ISSUE NUMBER @1:每周的呼叫计数以及一周的开始日期和结束日期
我已经在下面提到的查询中搜索了一周的开始日期和结束日期,包括他们各自的呼叫计数。但问题是我无法在一张表中得到结果,尽管我使用了临时表(#TempTable+#TempTable2)。请在这方面帮助我。
注意:表创建评论为多次执行。
--CREATE TABLE #TempTable(StartDate datetime,EndDate datetime,CallCount numeric(18,5))
--CREATE TABLE #TempTable2(StartDate datetime,EndDate datetime,CallCount numeric(18,5))
DECLARE @StartDate datetime,@EndDate datetime,@StartDateTemp1 datetime,@StartDateTemp2 datetime,@EndDateTemp datetime,@Period varchar(50);
SET @StartDate='1/1/2010'; SET @EndDate='2/28/2010';
SET @StartDateTemp1=@StartDate; SET @StartDateTemp2=DATEADD(dd, 7, @StartDate );
SET @Period='Weekly';
IF (@Period = 'Weekly')
BEGIN
WHILE ((@StartDate <= @StartDateTemp1) AND (@StartDateTemp2 <= @EndDate))
BEGIN
IF((@StartDateTemp1 < @StartDateTemp2 ) AND (@StartDateTemp1 != @StartDateTemp2) )
BEGIN
SELECT
convert(varchar, @StartDateTemp1, 106) AS 'Start Date',
convert(varchar, @StartDateTemp2, 106) AS 'End Date',
COUNT(*) AS 'Call Count'
FROM TRN_Call
WHERE (CallTime >= @StartDateTemp1 AND CallTime <= @StartDateTemp2 );
END
SET @StartDateTemp1 = DATEADD(dd, 7, @StartDateTemp1);
SET @StartDateTemp2 = DATEADD(dd, 7, @StartDateTemp2);
END
END
ISSUE NUMBER @2:Monthly-basis Count of Calls and Start-Date and End-Date of Week 在这种情况下,我有相同的搜索,但必须搜索呼叫计数加上开始日期和结束日期月。请在这方面帮助我。
DECLARE @StartDate datetime,@EndDate datetime,@StartDateTemp1 datetime,@StartDateTemp2 datetime,@EndDateTemp datetime,@Period varchar(50);
SET @StartDate='1/1/2010'; SET @EndDate='4/1/2010'; SET @StartDateTemp1=@StartDate;
--SET @StartDateTemp2=@StartDate;
SET @StartDateTemp2=DATEADD(mm, 1, @StartDate );
SET @Period='Monthly';
IF (@Period = 'Monthly')
BEGIN
WHILE ((@StartDate <= @StartDateTemp1) AND (@StartDateTemp2 <= @EndDate))
BEGIN
IF((@StartDateTemp1 < @StartDateTemp2 ) AND (@StartDateTemp1 != @StartDateTemp2) )
BEGIN
SELECT
convert(varchar, @StartDateTemp1, 106) AS 'Start Date',
convert(varchar, @StartDateTemp2, 106) AS 'End Date',
COUNT(*) AS 'Call Count'
FROM TRN_Call
WHERE (CallTime >= @StartDateTemp1 AND CallTime <= @StartDateTemp2 );
END
SET @StartDateTemp1 = DATEADD(mm, 1, @StartDateTemp1);
SET @StartDateTemp2 = DATEADD(mm, 1, @StartDateTemp2);
END
END