SELECT iEI.serviceType,iEim.masterAccno AS MasterAcc,
iED.triage_started_on, iED.triage_completed_on,
ifdm.id AS facDeptMappingId,iED.disposition_name AS disposition,
FROM ip_loc_bed ib
INNER JOIN ip_loc_area ia ON ia.id=ib.areaid
AND ia.statuscode='PUB'
AND ib.statusCode = 'PUB'
AND ia.deleteflag=0
AND ib.id IS NOT NULL
INNER JOIN ip_loc_unit_area iua ON iua.areaid=ia.id
AND iua.statusCode='PUB'
AND iua.deleteFlag = 0
INNER JOIN ip_loc_unit iu ON iu.id=iua.unitid
AND iu.deleteFlag = 0 AND iu.id IN(1)
INNER JOIN ip_loc_fac_dept_mapping ifdm ON ifdm.id = iu.facDeptMappId
AND ifdm.deleteFlag = 0
INNER JOIN edi_facilities ef ON ef.id = ifdm.facilityId
INNER JOIN ip_loc_department id ON id.id = ifdm.departmentId
AND id.deleteFlag = 0
**LEFT JOIN ip_encinfo iEI ON ((iEI.assBedId=ib.id)
OR (iEI.currBedId=ib.id)) AND iei.delflag = 0**
LEFT JOIN ip_regservicetype irs ON irs.Id=iEI.serviceType
AND irs.delflag= 0
替代是再次连接同一张表。
select coalesce(iei.serviceType, iei2.serviceType)
, iEim.masterAccno as MasterAcc
, iED.triage_started_on
, iED.triage_completed_on
, ifdm.id as facDeptMappingId
, iED.disposition_name as disposition
from ip_loc_bed ib
inner join ip_loc_area ia on ia.id=ib.areaid and ia.statuscode='PUB' and ib.statusCode = 'PUB' and ia.deleteflag=0 and ib.id is not null
inner join ip_loc_unit_area iua on iua.areaid=ia.id and iua.statusCode='PUB' and iua.deleteFlag = 0
inner join ip_loc_unit iu on iu.id=iua.unitid and iu.deleteFlag = 0 and iu.id in(1)
inner join ip_loc_fac_dept_mapping ifdm on ifdm.id = iu.facDeptMappId and ifdm.deleteFlag = 0
inner join edi_facilities ef on ef.id = ifdm.facilityId
inner join ip_loc_department id on id.id = ifdm.departmentId and id.deleteFlag = 0
left join
(select t2.serviceType, currBedId
from ip_encinfo t1
inner join ip_regservicetype t2 on t2.serviceType = t1.serviceType
where delflag = 0) as iei on iei.currBedId = ib.id
left join
(select t2.serviceType, assBedId
from ip_encinfo t1
inner join ip_regservicetype t2 on t2.serviceType = t1.serviceType
where delflag = 0) as iei2 on iei2.assBedId = ib.id