表1 
id name
1  xxx
2  yyy表2
name time
zzz  1点
ooo  2点拼接后的表
表3
id   name time
1    xxx  null
2    yyy  null
null zzz  1点
null ooo  2点这种需求怎么实现啊?求高手指教
    

解决方案 »

  1.   

    select id ,name=cast(name as varchar(20)), cast(null as varchar(10)) as time from a
    union all
    select null,name,time from b注意数据类型要一致,varchar的要去两个字段中最大的那个,这样才不会出错
      

  2.   

    select ID,Name,time=null from a
    union all
    select ID=null,Name,time from b
      

  3.   

    SELECT id,name,time=NULL FROM a
    UNION ALL
    SELECT id=null,name,time FROM b
      

  4.   


    select * from 表1 
    union all--union all不去掉上下两个语句中的重复数据行
    select null,* from 表2select * from 表1 
    union  --union 去掉上下两个语句中的重复数据行
    select null,* from 表2
    --提示:一定的注意两个语句的字段数相等,且对应的字段类型一致哦