表1名称:R
--------------
serial  |  id
1       |  1
2       |  2000
3       |  2
----------------表2名称:A
-------------------
id      |   name
1       |   民用
2       |   工业
--------------------表3名称:B
-------------------
id      |   name
2000    |   商用
--------------------//我想通过查询出下面的表
--------------
serial  |  name
1       |  民用
2       |  商用
3       |  工业
----------------
就是说,name有可能在A表,也有可能在B表,我该如果处理,谢谢!

解决方案 »

  1.   

    select serial  ,
    ifnull((select name from A where serial  =r.id),(select name from B where serial  =r.id))
    from R
      

  2.   

    select  * from A
    union all
    select * from B;
      

  3.   

    mysql> select R.serial,t.name from R left join (select id,name from A union sele
    ct id, name from B)t on R.id=t.id;
      

  4.   

    +--------+------+
    | serial | name |
    +--------+------+
    |      1 | 民用
    |      2 | 商用
    |      3 | 工业    |
    +--------+------+
      

  5.   

    非常感谢,各位的帮助,我采用的ACMAIN_CHM的版主的方法,版主的方法需要自己AS一下列名,否则名称变了。