
Originariamente inviata da
optime
non capisco l'uso della JOIN.... non ti basta una COUNT() e controllare che sia zero?
esempio con questa query in cui patient_mapping era la left
codice:
(select coalesce (pm.patient_num,pmt.patient_num) as patient_num,
coalesce (pm.patient_ide_source ,pmt.patient_ide_source) as patient_ide_source
from patient_mapping pm full join patient_mapping_test pmt
on pm.patient_ide = pmt.patient_ide
where pm.patient_ide ='PAT004' )
ottengo in output:
codice:
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
con questa query in cui patient_mapping era la right:
codice:
(select coalesce (pmt.patient_num,pm.patient_num) as patient_num,
coalesce (pmt.patient_ide_source ,pm.patient_ide_source) as patient_ide_source
from patient_mapping_test pmt full join patient_mapping pm
on pmt.patient_ide = pm.patient_ide
where pmt.patient_ide ='PAT004');
ottengo in output:
codice:
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 anagrafica
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
2 qrscp
I risultati sono diversi
con la union otterrei
codice:
2 qrscp
2 anagrafica
unisce le corrispondenze delle due tabelle e mi restiuisce di fatto i record una corrispondenza sola