SQL Server 2005 を使用しています。3 つの異なるテーブルに関する情報を収集しようとしています。
表 1 は[User_Table]で、次のようになります。
Lead ID
1 5
1 8
1 12
2 13
2 14
2 15
2 18
2 24
表 2 は[Interactions]で、次のようになります。
Int_Date ID Interaction
2012-03-01 5 Hang Up
2012-03-01 13 Reset
2012-03-01 8 Basic
2012-03-01 13 Basic
2012-03-02 14 Reset
2012-03-02 12 Advanced
2012-03-02 12 Hang Up
2012-03-02 24 Reset
2012-03-02 5 Basic
表 3 は[Repeats]で、次のようになります。
Repeat_d ID R_Interaction
2012-03-01 13 Reset
2012-03-01 8 Basic
2012-03-02 14 Reset
2012-03-02 12 Advanced
2012-03-02 24 Reset
私ができる必要があるのは、[インタラクション] からのコールの合計を、インタラクションの種類と日ごとの合計として合計し、それらを Lead と Int_Date = Repeat_d でグループ化することです
結果をどのように見せたいか:
DATE Lead Total_Interactions Total_Repeats Interaction
2012-03-01 1 1 0 Hang Up
2012-03-01 1 2 1 Basic
2012-03-01 2 1 1 Reset
2012-03-01 2 1 0 Basic
2012-03-02 1 1 1 Advanced
2012-03-02 1 1 0 Hang Up
2012-03-02 1 1 0 Basic
2012-03-02 2 2 1 Reset
これまでの私のクエリは次のようになります。
DECLARE @StartDate smalldatetime, @EndDate smalldatetime, @TL_ID as smallint
SET @StartDate = '20120301'
SET @EndDate = '20120331'
SET @TL_ID = '2'
SELECT
DATEADD(dd, DATEDIFF(dd, 0, [Int_Date]),0) as [Int_Date]
,[Interaction]
,COUNT([Interaction]) as [Total_Repeats]
FROM [Interactions] (NOLOCK)
LEFT JOIN [user_table] (NOLOCK) ON [id] = [id]
WHERE [Int_Date] BETWEEN @StartDate AND @EndDate
AND [Lead] = @TL_ID
GROUP BY DATEADD(dd, DATEDIFF(dd, 0, [Int_Date]),0), [Interaction]
ORDER BY [Int_Date], [Total_Repeats] DESC
どんな助けでも大歓迎です。ありがとうございました!