日期:2014-05-18  浏览次数:20479 次

关于负责的数据链接查询的问题!谢谢!
现在我有四个表,病人表,病人病历表,医生表,医院表,
每个病人多有一到多个病历,每个病历多有创建病历的医生ID!每个医生多有一个所属医院的医院ID!
我现在手中有一个医院的ID!我想查出所有属于这个医院的医生创建的病历的病人信息(也就是人表里面的数据)!
谢谢!!

------解决方案--------------------
try

select c.*,a.*
from 病人表 a
inner join 病人病历表 b on a.病人ID=b.病人ID
inner join 医生表 c on b.医生ID=c.医生ID
inner join 医院表 d on c.医院ID=d.医院ID
------解决方案--------------------
由于这几个表能通过两两的id形成传递,所以就可以通过inner join来取出交集~
------解决方案--------------------
因为不知道你实际表中的列名有哪些?所以将医生表c和病人表a的所有列(所有列用*代替)写出来了,你可以将*改为实际医生表和病人表中的字段名称
------解决方案--------------------
java还是初学者,不熟哦!

但好像应该改成这样,你看看.
select a.* " +
" from DPatientInfo a left join " +
" DPatientCaseInfo b on a.nid = b.patient.nid left join " +
" DDoctorInfo c on b.doctor.nid = c.nid left join " +
" DHospitalInfo d on c.医院ID=d.医院ID where c.hospital.nid = 34

楼主java很厉害吧,能交流交流不? 呵呵!
------解决方案--------------------
left join 后不能用where关键字关联,要用on关键字关联