날짜 범위를 선택하고 몇 가지 정보를 얻을 수있는 보고서를 얻으려고합니다. 내 표는 내가SQL 날짜 범위가 열이고 그룹 수입니다.
--------------------------------------
AgentID|05/09/2012|06/09/2012
--------------------------------------
0| 2 | 0
00124 | 1 | 1
00125 | 0 | 1
내가 가진 코드 같은 것을
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX),
@INIDate as date,
@ENDDate as date,
@INIDateVAR nvarchar(50),
@ENDDateVAR nvarchar(50)
Set @INIDate = '10-01-2014'
Set @ENDDate = '10-10-2014'
DECLARE @sql NVARCHAR(MAX) = N'SELECT agentID';
;WITH dr AS
(
SELECT MinDate = @INIDate,
MaxDate = @ENDDate
),
n AS
(
SELECT TOP (DATEDIFF(DAY, (SELECT MinDate FROM dr), (SELECT MaxDate FROM dr)) + 1)
d = DATEADD(DAY, ROW_NUMBER() OVER (ORDER BY [object_id])-1,
(SELECT MinDate FROM dr))
FROM sys.all_objects
)
SELECT @sql += ',
(Select Count(*) From AllRecordsView) as ' + QUOTENAME(d)
FROM n;
SELECT @sql += ' FROM dbo.AllRecordsView Group by AgentID;'
EXEC sp_executesql @sql;
GO
이다 싶어이
--------------------------------------
RecID|AgentID|date
--------------------------------------
1 |0| 05/09/2012 16:28:49
2 |0| 05/09/2012 17:28:49
3 |00124 | 05/09/2012 18:28:49
4 |00124 | 06/09/2012 19:28:49
5 |00125 | 06/09/2012 20:28:49
같은 것입니다하지만 큰 기간을 선택할 때이 매우 느리게 도착 물론 내가 얻은 결과는 완전한 테이블의 수입니다.
아이디어가 있으십니까? 감사합니다
안녕하세요. 답변 해 주셔서 감사합니다. 예. 날짜와 요원으로 그룹화되었지만 예상되는 형식으로 그룹화되지 않았습니다. 날짜를 열로 지정하고 싶습니다. 따라서 날짜와 해당 기간의 모든 날짜 사이를 열로 선택하십시오. – gianfrancopintus