Мне нужно добавить количество записей, в которых статус установлен в «повторно открынный». Но статус «вновь открыт» имеет несколько идентификаторов. Это подзапрос, который будет идентификатором «возобновить» статусы:Нужно добавить подзапрос в выражении CASE, которое является частью агрегатной функции
SELECT (CASE WHEN s.sr_status_recid = 1 THEN 1 ELSE 0 END) AS Reopened
from v_rpt_service s
where vsrv.sr_status_recid in
(select distinct SR_Status_RecID from SR_Status where [Description] like '%Re-opened%'))
Это главный вопрос, что приведенный выше запрос должен быть частью:
SELECT DATEPART(WK, vsrv.date_entered) as WkNumber,
COUNT(vsrv.TicketNbr) AS OpenedIssues, --total ticket count
SUM(CASE WHEN vsrv.Closed_Flag = 1 THEN 1 ELSE 0 END) AS ClosedIssues, --sum of tickets with closed_flag = 1
(SELECT SUM(CASE WHEN s.sr_status_recid = 1 THEN 1 ELSE 0 END)
from v_rpt_service s
where vsrv.sr_status_recid in
(select distinct SR_Status_RecID from SR_Status where [Description] like '%Re-opened%')) AS ReopenedIssues,
SUM(CASE WHEN vsrvy.Surveys_Completed = 1 THEN 1 ELSE 0 END) AS SurveysCompletedWithConnectWise, -- Surveys_Completed flag in view is 1
SUM(CASE WHEN Source = 'Portal' THEN 1 ELSE 0 END) AS IssueLoggedPortal,
SUM(CASE WHEN Source = 'Email Connector' THEN 1 ELSE 0 END) AS IssueLoggedEmai
FROM v_rpt_service vsrv LEFT OUTER JOIN v_rpt_SurveysByTicket vsrvy ON vsrv.TicketNbr = Vsrvy.SR_Service_RecID
WHERE vsrv.company_name <> 'XYZ Test Company' AND vsrv.date_entered BETWEEN '01/01/2016' AND '10/07/2016'
GROUP BY DATEPART(WK, vsrv.date_entered)
ORDER BY WkNumber
Как я могу иметь подзапрос, использует оператор CASE и агрегируется оператор CASE?
Здесь отличное место, чтобы начать. http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
Вы уже использовали агрегированный отчет о случаях ... – scsimon
Для ' Reopened 'column, мне нужно иметь подзапрос, а затем агрегировать. Но это не допускается. Поэтому мне нужно выбрать status_id, которые «повторно открыты», есть несколько повторно открывшихся статусов. Итак, мне нужно использовать подзапрос, как описано выше. Когда они будут выбраны, мне нужно их суммировать. Но подзапрос не допускается в совокупности. Есть ли другой способ, которым я могу это сделать? –