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'

解决方案 »

  1.   

    查询条件是B中很多的数据,A和B表是多对多的关系!
      

  2.   

    比如A表医院名称,B表是科目名称:
     A:                                     B:
        id1,医院一                            id1,内科
        id2,医院二                            id1,外科
        id3,医院三                            id2,内科 
        id4 医院四                            id2,骨科
                                              id2,外科
                                              id3,外科
                                              id3,神经科
                                              id3,外科
       假设现在查询条件是内科和外科,注意必须同时满足!
       谢谢大侠!
      

  3.   

    --同时有外科和内科,
    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
      

  4.   

    什么叫同时满足?
    --同时有外科和内科,查出所有信息
    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)
    这个不行吗?