Данные сводной таблицы SQL с группой - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть этот запрос:

 SELECT TOP (1000) count([CallId]) as totalCalls
      ,[CallDirection]
      ,[AssignedWorkGroup]
      ,DATEPART(month, connectedDate) as SelectedMonth
 FROM [mydatabase].[dbo].[calldetail_viw]
 where connectedDate > '2018-8-01'
 and localname='myaccountrep'
 and AssignedWorkGroup <>'-'
 group by assignedworkgroup,calldirection,DATEPART(month, connectedDate) 
 order by SelectedMonth,calldirection

, который возвращает мои данные в столбцах

totalcalls, calldirection, assigned workgroup, selectedmonth

, но мне нужны мои данные

SelectedMonth, Assignedworkgroup, INBOUND, OUTBOUND, TotalCalls

Так что мне нужноПоверните два значения в поле calldirection.Может кто-нибудь, пожалуйста, покажите мне, как изменить мой запрос - он мне действительно нужен в LINQ.ТИА!

1 Ответ

0 голосов
/ 08 ноября 2018

Условное агрегирование выглядит так, как будто бы оно сработало.

Что-то в этом роде ...

SELECT
  selectedMonth,
  AssignedWorkgroup,
  SUM(CASE WHEN calldirection =  'INBOUND' THEN totalCalls ELSE 0 END)   AS INBOND,
  SUM(CASE WHEN calldirection = 'OUTBOUND' THEN totalCalls ELSE 0 END)   AS OUTBOND,
  SUM(totalCalls)                                                        AS totalCalls
FROM
(
  <yourquery>
)
  AS toPivot
GROUP BY
  selectedMonth,
  assignedWorkgroup
...