当前位置: 代码迷 >> Sql Server >> 关于两表联合查询的有关问题
  详细解决方案

关于两表联合查询的有关问题

热度:47   发布时间:2016-04-24 09:28:30.0
关于两表联合查询的问题
如题
A表:
id     xm      xb    dwdm           gwdm
1    张三   男  sa005509    0707
2    李四   男  sa005509    0809
3    王五   女  sa005509    0123
4    王六   女  sa005212    1254
5    李二   女  sa005509    null

B表:
dwdm           gwdm      gwmc
sa005509     0707        销售部
sa005509     0809        行政部
sa005509     0123        市场部
sa005212     1254        网络部


最后需要查询到的结果是:
1    张三   男  sa005509    销售部
2    李四   男  sa005509    行政部
3    王五   女  sa005509    市场部
5    李二   女  sa005509    
大概就是A表DWDM存的是单位的代码,gwdm存的是部门代码,查询的时候要根据单位代码查询到这些人对应的部门,但是又不是所有的人都有部门,我用过多表查询语句,如果这个单位都有部门,那就能查询出来,但是这个单位要是有一个人没有部门,相同的语句查出来的就是全空,应该就是B没有A表对应的字段
要是能扩展一下最好,还有个C表:
dwdm                 dwmc
sa005509           车轮厂
sa005510           福利厂
查询到的结果是:
1    张三   男  车轮厂    销售部
2    李四   男  车轮厂   行政部
3    王五   女  车轮厂    市场部
5    李二   女  车轮厂    
------解决思路----------------------
A left join B left Join C
------解决思路----------------------

select 
    A.id,A.xm,A.xb,C.dwmc,B.gwmc
from 
    A 
inner join 
    C 
on 
    A.dwdm =C.dwdm 
left join 
    B 
on 
    A.gwdm=B.gwdm 
  相关解决方案