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

Рейтинг: -2Ответов: 1Опубликовано: 19.01.2023

Вопрос состоит в том чтобы составить из 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
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