Я пытаюсь сопоставить данные, выбранные пациентом в этой таблице, и все другие таблицы показывают это, но есть все данные пациента, отображаемые с IsKeyAttrIsChecked
флагом
Запрос: -
select
a.KeyAttribute,
a.PatKeyAttId,
b.IsKeyAttrIsChecked,
b.PatientUserId
from PatientKeyAttributeMaster a
Left join PatientKeyAttributeMap b
on (a.PatKeyAttId = b.PatKeyAttributeId)
UNION
select
keyAttribute,
PatKeyAttId,
IsKeyAttrIsChecked,
PatientUserId
from
(
select
a.KeyAttribute,
a.PatKeyAttId,
b.IsKeyAttrIsChecked,
b.PatientUserId
from PatientKeyAttributeMaster a
inner join PatientKeyAttributeMap b
on (a.PatKeyAttId = b.PatKeyAttributeId)
where b.PatientUserId = 176845 or b.IsKeyAttrIsChecked=1
) as a
group by keyAttribute,PatKeyAttId,IsKeyAttrIsChecked,PatientUserId
вывод: -
KeyAttribute | PatKeyAttId |IsKeyAttrIsChecked|PatientUserId
Anxiety 4041 NULL NULL
Drop in work performance 4039 1 177849
Drowsiness 4032 NULL NULL
Excess weight gain 4036 NULL NULL
Irritability 4040 1 171834
Anger at work 4040 1 177847
Anger at work 4040 1 177849
Persistent backache 4034 1 171834
Persistent cough 4035 1 176845
Ожидаемый вывод: -
KeyAttribute | PatKeyAttId |IsKeyAttrIsChecked|PatientUserId
Anxiety 4041 NULL NULL
Drop in work performance 4039 0 NULL
Drowsiness 4032 NULL NULL
Excess weight gain 4036 NULL NULL
Persistent cough 4035 1 176845
Irritability 4040 0 NULL
Anger at work 4040 0 NULL
Anger at work 4040 0 NULL
Persistent backache 4034 0 NULL