WorkAkkaunt

ТЕЛЕТАЙ - Отчет по интервалам

Oct 1st, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.24 KB | None | 0 0
  1. DECLARE @DATE_START DATETIME = '20190830 00:00'
  2. DECLARE @DATE_END DATETIME = '20190830 23:59'
  3. DECLARE @TIME_START DATETIME = '19000101 00:00'
  4. DECLARE @TIME_END DATETIME = '19000101 20:00'
  5.  
  6. DECLARE @OPERATORS TABLE (Id UNIQUEIDENTIFIER PRIMARY KEY)
  7.  
  8. INSERT INTO @OPERATORS
  9. SELECT Id
  10. FROM [oktell_cc_temp].[dbo].[A_Cube_CC_Cat_OperatorInfo] WITH (NOLOCK)
  11. --------------------------------------------------------------------------------------------------------------------------------
  12.  
  13. SELECT * INTO #OlpCalls
  14. FROM [oktell].[dbo].[OLP_NextCall_V2] WITH (NOLOCK)
  15. WHERE [date_insert] BETWEEN @DATE_START AND @DATE_END
  16. AND CAST(CAST([date_insert] AS TIME) AS DATETIME) BETWEEN @TIME_START AND @TIME_END
  17. AND OperatorId IN (SELECT Id FROM @OPERATORS)
  18.  
  19. SELECT * INTO #ClientCalls
  20. FROM #OlpCalls
  21. WHERE client_type = 0
  22.  
  23. SELECT CAST(date_insert AS DATE) [Day]
  24.     ,DATEPART(HOUR, CAST(date_insert AS TIME)) [Hour]
  25.     ,COUNT(*) [Count] INTO #All
  26. FROM #ClientCalls
  27. GROUP BY CAST(date_insert AS DATE), DATEPART(HOUR, CAST(date_insert AS TIME))
  28.  
  29. SELECT CAST(date_insert AS DATE) [Day]
  30.     ,DATEPART(HOUR, CAST(date_insert AS TIME)) [Hour]
  31.     ,COUNT(*) [Count] INTO #Dialing
  32. FROM #ClientCalls
  33. WHERE CallResult IN (5,18,29)
  34. GROUP BY CAST(date_insert AS DATE), DATEPART(HOUR, CAST(date_insert AS TIME))
  35.  
  36. --Не дозвон = Все - Дозвон
  37.  
  38. SELECT CAST(date_insert AS DATE) [Day]
  39.     ,DATEPART(HOUR, CAST(date_insert AS TIME)) [Hour]
  40.     ,COUNT(*) [Count] INTO #Missing
  41. FROM #ClientCalls
  42. WHERE CallResult IN (1,6,7,20)
  43. GROUP BY CAST(date_insert AS DATE), DATEPART(HOUR, CAST(date_insert AS TIME))
  44.  
  45. SELECT CAST(date_insert AS DATE) [Day]
  46.     ,DATEPART(HOUR, CAST(date_insert AS TIME)) [Hour]
  47.     ,COUNT(*) [Count] INTO #Tickets
  48. FROM #ClientCalls
  49. WHERE id_result = 31 AND messenger_id IN (1,3,4,5)
  50. GROUP BY CAST(date_insert AS DATE), DATEPART(HOUR, CAST(date_insert AS TIME))
  51.  
  52. SELECT CAST(date_insert AS DATE) [Day]
  53.     ,DATEPART(HOUR, CAST(date_insert AS TIME)) [Hour]
  54.     ,COUNT(*) [Count] INTO #Refuse
  55. FROM #ClientCalls
  56. WHERE id_result = 32
  57. GROUP BY CAST(date_insert AS DATE), DATEPART(HOUR, CAST(date_insert AS TIME))
  58.  
  59. DROP TABLE #OlpCalls
  60.  
  61. DROP TABLE #ClientCalls
  62.  
  63. DROP TABLE #All
  64. DROP TABLE #Dialing
  65. DROP TABLE #Missing
  66. DROP TABLE #Tickets
  67. DROP TABLE #Refuse
Add Comment
Please, Sign In to add comment