select * from a1 a 
inner join a2 b on a.banji=b.banji
inner join a3 c on a.banji=c.banji
inner join a4 d on a.banji=d.banji
inner join a5 e on a.banji=e.banji或者
select * from a1 a 
, a2 b 
, a3 c
, a4 d 
, a5 e 
where a.bianhao=b.bianhao 
and a.bianhao=c.bianhao 
and a.bianhao=d.bianhao 
and a.bianhao=e.bianhao 
 

解决方案 »

  1.   

    改成这样,更加清晰一点:select * from a1 a 
    inner join a2 b on a.banji=b.banji and a.bianhao=b.bianhao
    inner join a3 c on a.banji=c.banji and a.bianhao=c.bianhao 
    inner join a4 d on a.banji=d.banji and a.bianhao=d.bianhao
    inner join a5 e on a.banji=e.banji and a.bianhao=e.bianhao 
      

  2.   

    另外,可以建聚集索引,能加快速度:create clustered index a1 on a1(banji,bianhao)create clustered index a2 on a1(banji,bianhao)create clustered index a3 on a1(banji,bianhao)create clustered index a4 on a1(banji,bianhao)create clustered index a5 on a1(banji,bianhao)
      

  3.   

    看错了,要两个列的话用这种
    select * from a1 a 
    inner join a2 b on a.banji=b.banji and a.bianhao=b.bianhao
    inner join a3 c on a.banji=c.banji and a.bianhao=c.bianhao 
    inner join a4 d on a.banji=d.banji and a.bianhao=d.bianhao
    inner join a5 e on a.banji=e.banji and a.bianhao=e.bianhao 
    或者:
    select * from a1 a 
    , a2 b 
    , a3 c 
    , a4 d 
    ,a5 e 
    where  a.banji=e.banji and a.bianhao=e.bianhao and a.banji=d.banji and a.bianhao=d.bianhao and a.banji=c.banji and a.bianhao=c.bianhao and a.banji=b.banji and a.bianhao=b.bianhao索引的话最好在关联条件的列上都加上。另外还要看你的结果是需要inner join还是left join