Я довольно новичок в SQL и особенно в Oracle.Мне нужно считать по объединенному полю «UNIQUE_PROVIDER_PATIENT_COMBO» И включать только те записи, которые имеют> = 2 - другими словами, показывать только те, в которых один и тот же поставщик / пациент существует более одного раза.Я близко, но не могу пройти весь путь.Я попытался сделать это с помощью общего табличного выражения, но просто не получил последний шаг.Базовый запрос ниже.Помощь будет высоко ценится!
SELECT DISTINCT
pat.PAT_NAME "PATIENT"
,pat.PAT_ID
,prov.PROV_NAME "VISIT PROVIDER"
,prov.PROV_ID
,enc.CONTACT_DATE "VISIT DATE"
,prov.PROV_NAME || ' ' || '+' || ' ' || pat.PAT_NAME AS "PROVIDER + PATIENT"
,prov.PROV_ID || ' ' || '+' || ' ' || pat.PAT_ID AS "UNIQUE_PROVIDER_PATIENT_COMBO"
FROM
CMRCL_TFH.PATIENT pat
INNER JOIN CMRCL_TFH.PAT_ENC enc ON pat.PAT_ID = enc.PAT_ID
INNER JOIN CMRCL_TFH.CLARITY_DEP dep ON enc.DEPARTMENT_ID = dep.DEPARTMENT_ID
INNER JOIN CLARITY_SER prov ON enc.VISIT_PROV_ID = prov.PROV_ID
WHERE
enc.CONTACT_DATE BETWEEN '01-JAN-18' AND '31-MAR-18'
GROUP BY
pat.PAT_NAME
, pat.PAT_ID
, prov.PROV_NAME
, prov.PROV_ID
, enc.CONTACT_DATE
, prov.PROV_NAME || ' ' || '+' || ' ' || pat.PAT_NAME
, prov.PROV_ID || ' ' || '+' || ' ' || pat.PAT_ID
ORDER BY "PROVIDER + PATIENT";