Как составить из 2 запросов один, который будет выводить больше столбцов из одной таблицы?

Вопрос состоит в том чтобы составить из 2 запросов один, который будет выводить больше столбцов из одной таблицы пример первого запроса:

SELECT [HospitalID_Ref],
       count(*) as 'Зарегистрированно '
FROM [REMD].[dbo].[MedicalDocument]
where MedicalDocumentDate between '20230101' and '20230118 23:59:59' and MedicalDocumentTypeID_Ref=141 and sent = 1 
group by HospitalID_Ref

он выводит таблицу из двух столбцов

введите сюда описание изображения

Пример второго запроса

SELECT [HospitalID_Ref],
       count(*) as 'успешно'
FROM [REMD].[dbo].[MedicalDocument]
where MedicalDocumentDate between '20230101' and '20230118 23:59:59' and MedicalDocumentTypeID_Ref=141 and REMDID is not null
group by HospitalID_Ref

он выводит другую информацию:

введите сюда описание изображения

как мне из этих двух запросов сделать один который будет выводить инфу так:

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Akina
SELECT HospitalID_Ref,
       SUM(CASE WHEN sent = 1           THEN 1 ELSE 0 END) as 'Зарегистрировано',
       SUM(CASE WHEN remdid IS NOT NULL THEN 1 ELSE 0 END) as 'Успешно'
FROM [REMD].[dbo].[MedicalDocument]
WHERE MedicalDocumentDate BETWEEN '20230101' AND '20230118 23:59:59' 
  AND MedicalDocumentTypeID_Ref = 141 
-- AND (sent = 1 OR remdid IS NOT NULL)
GROUP BY HospitalID_Ref
→ Ссылка