この問題は、現時点では円で回っていて、誰かがどこに間違っているかについてのポインタを与えることができるかどうか疑問に思っています。CTE Joinクエリの問題
私は過去6ヶ月のグラフに対してSSRSから呼び出されるデータセットを生成するSPROCを生成しようとしています。
例示の目的のためのデータは、3つのテーブル使用(詳細theresのは、それは習慣手で問題を変更)以下のようである:
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_返品リクエスト:
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