У меня есть две отдельные таблицы: emr
и treatment
. Каждая таблица имеет столбец userID
и столбец provider
. В настоящее время я делаю простое извлечение, чтобы подсчитать количество различных userID
s, которые появляются в таблице emr
, например:
SELECT distinct vender, count (distinct userID) AS EMR_Patients
from emr
group by 1
Это дает мне следующий вывод:
vender | EMR_Patients
+++++++++++++++++++++
a 10,000
b 5,000
c 37,500
Однако я хочу включить количество userID
s, которые также появляются в таблице treatment
, чтобы я мог видеть, сколько userID
имеют запись emr и имеют интересующий процесс,Я пытаюсь получить вывод:
vender | EMR_Patients| Treatment_Patients
+++++++++++++++++++++++++++++++++++++++++
a 10,000 4,000
b 5,000 3,000
c 37,500 9,000
Я попытался использовать объединение:
SELECT distinct vender, count (distinct userID) AS EMR_Patients
FROM emr
GROUP BY 1
UNION ALL
(SELECT distinct vender, count (distinct userID) AS Treatment_Patients
FROM treatment
GROUP BY 1)
Но это работает неправильно. Есть ли способ сделать это как объединение, или мне нужно заранее объединить две таблицы вместе? Или, может быть, есть более чистый способ, чем любой из этих вариантов?