select a,b from ta
union
select a,b from tb

解决方案 »

  1.   

    假设表中有3条记录。
    用union的话会返回6条,没法用left join,因为两张表无关联
      

  2.   

    select a.a,a.b,b.a,b.b
    from a left join b on 1 = 1
      

  3.   

    上面的也不行,用下面的吧
    declare @a table(id int identity(1,1),a varchar(10),b varchar(10))
    declare @b table(id int identity(1,1),a char(10),b char(10))
    insert @a
    select '111','1111' union all
    select '222','2222' union all
    select '333','3333'
    insert @b
    select 'aaa','aaaa' union all
    select 'bbb','bbbb'
    select a.a,a.b,b.a,b.b
    from @a a left join @b  b on a.id = b.id
    结果如下:
    a     b     a     b
    111   1111  aaa   aaaa
    222   2222  bbb   bbbb
    333   3333  NULL NULL
      

  4.   

    select a.a,a.b,b.a,b.b
    from @a a left join @b  b on a.id = b.id好象还是不行,写不出类似a.id = b.id的条件
      

  5.   

    先定义两个表变量,第一列定义成自增的,比如:
    declare @a table(xh int identity(1,1),a char(10), b char(10))
    declare @b table(xh int identity(1,1),a char(10), b char(10))
    insert @a
    select a,b
    from a
    insert @b
    select a,b
    from b
    然后再用下面的语句就行了
    select a.a,a.b,b.a,b.b
    from @a a left join @b  b on a.id = b.id
      

  6.   

    看来只好这样了,我本来想一句SQL搞定的。