请问下表a的字段数量不一样,
ls9_l有a.ls_n,a.i1,a.i2,a.i3,a.i4,a.i5,a.i6,a.i7,a.i8,a.i9
ls8_l有a.ls_n,a.i1,a.i2,a.i3,a.i4,a.i5,a.i6,a.i7,a.i8
ls7_l有a.ls_n,a.i1,a.i2,a.i3,a.i4,a.i5,a.i6,a.i7

Ls2_l有a.ls_n,a.i1,a.i2
要如何让他们结合成一个表格呢?如何改下面的语法?谢谢!表a:
select a.ls_n,a.i1,a.i2,a.i3,a.i4,a.i5,a.i6,a.i7,a.i8,a.i9  from ls9_l a union all
select * from ls8_l b union all
select * from ls7_l c union all
select * from ls6_l d union all
select * from ls5_l e union all
select * from ls4_l f union all
select * from ls3_l g union all
select * from ls2_l h

解决方案 »

  1.   

    select   a.ls_n,a.i1,a.i2,a.i3,a.i4,a.i5,a.i6,a.i7,a.i8,a.i9     
    from   ls9_l   a   union   all 
    select  b.ls_n,b.i1,b.i2,b.i3,b.i4,b.i5,b.i6,b.i7,b.i8,''
    from   ls8_l   b   union   all ...
      

  2.   

    create table ls9_l (id int,name varchar(10))
    insert into ls9_l select 1,'a'
    create table ls8_l (id int,name varchar(10))
    insert into ls8_l select 2,'b'declare @tbname varchar(10),@sql varchar(8000)
    select @sql=isnull(@sql+' union all ','')+'select * from ls'+ltrim(tn)+'_l'
    from (select 9 as tn union select 8)a
    exec(@sql)id name
    1 a
    2 b
      

  3.   


    select   a.ls_n,a.i1,a.i2,a.i3,a.i4,a.i5,a.i6,a.i7,a.i8,a.i9     from   ls9_l   a   union   all 
    select   *,null   from   ls8_l   b   union   all 
    select   *,null,null   from   ls7_l   c   union   all 
    select   *,null,null,null   from   ls6_l   d   union   all 
    select   *,null,null,null,null   from   ls5_l   e   union   all 
    select   *,null,null,null,null,null   from   ls4_l   f   union   all 
    select   *,null,null,null,null,null,null   from   ls3_l   g   union   all 
    select   *,null,null,null,null,null,null,null   from   ls2_l   h