select zd01 as tb1zd1,zd02 as tb1zd2,zd03 as tb1zd3 from tabel1  
union all
select zd01 as tb2zd1,zd02 as tb2zd2,zd03 as tb2zd3 from table2

解决方案 »

  1.   

    leimin(黄山光明顶) :
     不对啊,这样确实是能取到3条记录,但是只有table1的字段
    而我要取到所有两个表的字段,象下面这样tb1zd1 tb1zd2 tb1zd3 tb2zd1 tb2zd2 tb2zd3
      1      2      a      null   null   null
      3      4      a      null   null   null
     nul l  null   null     5      6      a
      

  2.   

    SELECT tb1zd1,tb1zd2,tb1zd3,'null' as tb2zd1,'null' as tb2zd2,'null',as tb2zd3
    FROM table1
    WHERE zd03='aaa' 
    union all
    SELECT 'null' as tb1zd1,'null' as tb1zd2,'null' as tb1zd3,tb1zd1,tb1zd2,tb1zd3
    FROM table2
    WHERE zd03='aaa'
      

  3.   

    SELECT tb1zd1,tb1zd2,tb1zd3,'null' as tb2zd1,'null' as tb2zd2,'null',as tb2zd3
    FROM table1
    WHERE zd03='aaa' 
    union all
    SELECT 'null','null','null',tb1zd1,tb1zd2,tb1zd3
    FROM table2
    WHERE zd03='aaa'
      

  4.   

    select * from (SELECT  tb1zd1=zd01, tb1zd2=zd02, tb1zd3=zd03,  tb2zd1=null, tb2zd2=null, tb2zd3=null FROM table1 WHERE zd03='aaa'
    union all
    SELECT  tb1zd1=null, tb1zd2=null, tb1zd3=null,  tb2zd1=table2.zd01, tb2zd2=table2.zd02, tb2zd3=table2.zd03 from table2 where zd03='aaa') aa
    ORDER BY
      ....