이 문제는 내가 지금 당장 원으로 돌아가고 누군가가 잘못된 점에 관해서 어떤 포인터를 줄 수 있는지 궁금합니다.CTE Join query issues
지난 6 개월의 그래프에 대해 SSRS에서 호출 할 데이터 집합을 생성하는 SPROC를 생성하려고합니다.
예시적인 목적을위한 데이터는 세 개의 테이블을 사용하는 (기타 프로그래머를하지만 그 습관 당면한 문제 변경) 다음과 같습니다
tbl_ReportList :
Report Site
----------------
North abc
North def
East bbb
East ccc
East ddd
South poa
South pob
South poc
South pod
West xyz
tbl_TicketsRaisedThisMonth :
Date Site Type NoOfTickets
---------------------------------------------------------
2010-07-01 00:00:00.000 abc Support 101
2010-07-01 00:00:00.000 abc Complaint 21
2010-07-01 00:00:00.000 def Support 6
...
2010-12-01 00:00:00.000 abc Support 93
2010-12-01 00:00:00.000 xyz Support 5
tbl_FeedBack 요청 :
Date Site NoOfFeedBackR
----------------------------------------------------------------
2010-07-01 00:00:00.000 abc 101
2010-07-01 00:00:00.000 def 11
...
2010-12-01 00:00:00.000 abc 63
2010-12-01 00:00:00.000 xyz 4
SPROC 다음과 같이 될 같은 '북한'으로 매개 변수를 전달 때
DECLARE @ReportName VarChar(200)
SET @ReportName = 'North';
WITH TicketsRaisedThisMonth AS
(
SELECT
[Date],
Site,
SUM(NoOfTickets) AS NoOfTickets
FROM tbl_TicketsRaisedThisMonth
WHERE [Date] >= DATEADD(mm, DATEDIFF(m,0,GETDATE())-6,0)
GROUP BY [Date], Site
),
FeedBackRequests AS
(
SELECT
[Date],
Site,
SUM(NoOfFeedBackR) AS NoOfFeedBackR
FROM tbl_FeedBackRequests
WHERE [Date] >= DATEADD(mm, DATEDIFF(m,0,GETDATE())-6,0)
GROUP BY [Date], Site
),
SELECT
trtm.[Date]
SUM(trtm.NoOfTickets) AS NoOfTickets,
SUM(fbr.NoOfFeedBackR) AS NoOfFeedBackR,
FROM tbl_ReportList rpts
LEFT OUTER JOIN TotalIncidentsDuringMonth trtm ON rpts.Site = trtm.Site
LEFT OUTER JOIN LoggedComplaints fbr ON rpts.Site = fbr.Site
WHERE rpts.report = @ReportName
GROUP BY trtm.[Date]
그리고 출력 :
나는 다음과 같다 코드를 단순화하기 위해 CTE의를 사용하고
Date NoOfTickets NoOfFeedBackR
-----------------------------------------------------------------------------------
2010-07-01 00:00:00.000 128 112
2010-08-01 00:00:00.000 <data for that month> <data for that month>
2010-09-01 00:00:00.000 <data for that month> <data for that month>
2010-10-01 00:00:00.000 <data for that month> <data for that month>
2010-11-01 00:00:00.000 <data for that month> <data for that month>
2010-12-01 00:00:00.000 122 63
내가 겪고있는 문제는 내가 매월 값의 반복 목록을 받았습니다. 예를 들어 128은 6 번 반복되고 다음 달 값은 6 번 반복되는 등의 반복 된 값 목록을 제공합니다. !
테이블 정의는 그렇지 않습니다. 당신의 질의와 일치합니다 - 질의에서 참조되는'Reports'는 무엇입니까? 'tbl_ReportList'입니까? –
지적 해 주셔서 고맙습니다. – Icementhols