Присвоить метку фиктивной переменной в совокупном запросе - PullRequest
0 голосов
/ 23 марта 2020

У меня есть следующий запрос, который прекрасно работает. Я просто хотел бы пометить вывод (см. Ниже) в соответствии с фиктивными переменными, которые я создал; '7a-7p' '7p-7a'.

Select 
count([SHIFT_Type]) as Count
FROM
(
Select 
CASE WHEN Checkin_hour >= 7 and Checkin_hour < 19 then '7a-7p' else '7p-7a' END AS [SHIFT_Type]
FROM (
Select *,
    CONVERT(VARCHAR(10),CHECKIN_DATE_TIME,111) as Checkin_date, DATEPART(Hour, CHECKIN_DATE_TIME) as Checkin_hour, DATEPART(DW, CHECKIN_DATE_TIME) as Day_of_Week,  [Day]  = DATENAME(WEEKDAY, CHECKIN_DATE_TIME),
    Row_Number () Over (Partition BY Patient_Fin order BY Patient_Fin) as RowNumber
    FROM COVID_TAT  
WHERE (CHECKIN_DATE_TIME > @StartDate and CHECKIN_DATE_TIME < @EndDate) and PT_DISCH_DISPO not like '%Error%' 
and PT_DISCH_DISPO not like '%no show%' and PT_DISCH_DISPO not like'%Left Without Treatment%' and DOCTORSEE_DATE_TIME not like 'null' 
and TRACK_GROUP like '%ED Track%' 
    )sub
    )sub
Group By [SHIFT_Type]

ТЕКУЩИЙ ВЫХОД

   Count
 1  64
 2  39

ЖЕЛАЕМЫЙ ВЫХОД

       Count
 7a-7p  64
 7p-7a  39

1 Ответ

1 голос
/ 23 марта 2020

«Метка» уже доступна в промежуточном подзапросе, и вы используете ее как столбец GROUP BY во внешнем запросе. Просто добавьте его в предложение SELECT:

SELECT [SHIFT_Type], count([SHIFT_Type]) as Count
FROM ...
GROUP BY [SHIFT_Type]
...