首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在线专等三表查询SQL语句!

2013-09-09 
在线专等3表查询SQL语句!!!1、3个表分别如下MainT表(AutoID, Type, Code),Code字段有可能为空M001101M00210

在线专等3表查询SQL语句!!!
1、3个表分别如下
   MainT表(AutoID, Type, Code),Code字段有可能为空
           M001       1       01
           M002       1       02
           M003       1       01
           M004       2       03
           M004       2       null
           .......
      
   CodeA表(Code,Name)
            01        张三A
            02        李四A
            03        刘五A
           ........

   CodeB表(Code,Name)
           01        张三B
           02        李四B
           03        刘五B
   ........

需要得到到结果是:
   
    MainT.AutoID, Name
    M001          张三A
    M002          李四A
    M003          张三A
    M004          刘五B
    M004          null
           .......
即关联关系为:
   1、MainT表中的Type如果为1需要从CodeA表中查,如果为2需要从CodeB表中查
   2、将MainT中的Code关联到CodeA(B)表中的Name字段
   3、如果MainT表中的null为空,则也需要在结果中显示,也显示为空
   4、所有字段都是字符串形式

结果:
   1、当前我查询的SQL语句MainT表中的null查不出来。
   2、
   select M.AutoID,A.Name from MainT M, CodeA A


   where M.Code = A.Code
   Union ALL
   select M.AutoID,B.Name from MainT M, CodeB B
   where M.Code = B.Code

有没有更好的方法?另外如果Type有4种类型呢,又怎么查?
谢谢!

热点排行