tablea
id name
1 OK1
2 OK2tableb
id a_id name
1 1 t0
2 1 t1select * from tablea a ,tableb b where a.id=b.a_id and b.name='t0'
id name
1 OK1
2 OK2tableb
id a_id name
1 1 t0
2 1 t1select * from tablea a ,tableb b where a.id=b.a_id and b.name='t0'
A: B:
id1,医院一 id1,内科
id2,医院二 id1,外科
id3,医院三 id2,内科
id4 医院四 id2,骨科
id2,外科
id3,外科
id3,神经科
id3,外科
假设现在查询条件是内科和外科,注意必须同时满足!
谢谢大侠!
select * from tablea a ,tableb t where a.id=t.id and t.id in
(select b.id id from tableb b where b.name in ('内科','外科') group by b.id having count(b.name)>1)--只有外科或只有内科或两者都有.
select
a.id id,
a.name 医院名称,
b.name 科别
from
tableb b,
tablea a
where
b.name in ('内科','外科')
and b.id=a.id
--同时有外科和内科,查出所有信息
select * from tablea a ,tableb t where a.id=t.id and t.id in
(select b.id id from tableb b where b.name in ('内科','外科') group by b.id having count(b.name)>1)
这个不行吗?