最近做了一个关于access数据库的操作的项目,用到了多表连接查询问题,稍微复杂一些,主要是使用多表进行连接查询。
上图说明一下数据库中的数据表关联情况。
查询后实现的效果图如下:
构造的sql语句查询如下:
select Patient.ID,PatientName,RecordNewCaseNo,Birthdate,Sex,PatientCondition,RecordStartTime,HolterTypeName, HolterRecordState.ID as RecordStateID,RecordStateName,DepartmentName,HeartBeatTotal,VeTotal,SveTotal,RRTotal,TypeName,HolterRecordID from(((((((((HolterRecord inner join Patient on HolterRecord.PatientID = Patient.ID) inner join HolterStructureType on HolterRecord.HolterStructureTypeID = HolterStructureType.ID) inner join HolterRecordState on HolterRecord.RecordStateID = HolterRecordState.ID) left join PatientBed on Patient.ID = PatientBed.PatientNo) left join Bed on Bed.ID = PatientBed.BedID) left join Ward on Ward.ID = Bed.WardID) left join Department on Department.ID = Ward.DepartmentID) left join PatientPacemaker on PatientPacemaker.PatientNo = Patient.ID) left join Pacemaker on Pacemaker.ID = PatientPacemaker.PacemakerID) left join(select * from RptRecordFile where ID in(select max(ID) from RptRecordFile group by HolterRecordID)) RRF on HolterRecord.ID = RRF.HolterRecordID order by HolterRecord.ID desc