怎么把两个表的内容合并成一个表来显示? 表A
编号a  名称a
1    
2
3
4
5表B
编号b  名称b
1
1
1
2
2
5
5显示结果为表C
编号    名称
1                   《=表a的1
1                   《=表b的第1个1
1                   《=表b的第2个1
1                   《=表b的第3个1
2                   《=表a的第1个2
2                   《=表b的第1个2
2                    一次类推
3
4
5
5
5实现这样功能的sql语句应该怎么写?

解决方案 »

  1.   

    select 表A.编号a as 编号,表A.名称a as 名称 from 表A
    union
    select 表B.编号b as 编号,表b.名称b as 名称 from 表B
      

  2.   

    不好意思,为了体现顺序,增加一个字段表A
    编号a  名称a
    1    
    2
    3
    4
    5表B
    编号b  名称b  位置编号
    1                1
    1                2
    1                3
    2                1
    2                2
    5                1 
    5                2 显示结果为表C
    编号    名称
    1                   《=表a的1
    1                   《=表b的第1个1
    1                   《=表b的第2个1
    1                   《=表b的第3个1
    2                   《=表a的第1个2
    2                   《=表b的第1个2
    2                    一次类推
    3实现这样功能的sql语句应该怎么写?
      

  3.   

    如果表A没有类似 “表B.位置编号”这个字段,
    可以这样写select 编号,名称 from
    (
    select '表A' as 表名,表A.编号a as 编号,表A.名称a as 名称,1 as 位置编号 from 表A
    union
    select '表B' as 表名,表B.编号b as 编号,表b.名称b as 名称,表B.位置编号 as 位置编号 from 表B) order by 表名,位置编号
      

  4.   

    您的sql语句有问题,无法按要求排序,现在再次修改表的结构:表A
    编号a(主键)  名称a  位置编号
    1              a1          01 
    2              b1          0101
    3              c1          010101
    4              d1          02
    5              e1          0201 表B
    所属编号  名称b  位置编号
    3         f1       01
    3         g1       0101
    3         h1       010101
    5         i1       01
    5         j1       02
    5         k1       0201
    5         l1       0202 显示结果为表C
    编号             名称
    01                 a1 
    0101               b1  
    010101             c1     
    01010101           f1     
    0101010101         g1
    010101010101       h1   
    02                 d1           
    0201               e1
    020101             i1
    020102             j1
    02010201           k1
    02010202           l1      
    表b的所属编号=表a的编号a,2个表的编号位置体现字段的排列顺序,2个表的编号位置分别只针对本表,新的表c的编号为表A的加表b的,实现这样功能的sql语句应该怎么写?
      

  5.   

    select 编号,名称 from
    (
    select 表A.位置编号+0 as 顺序,表A.编号a as 编号,表A.名称a as 名称,表A.位置编号 as 位置编号 from 表A
    union
    select 表B.位置编号+1 as 顺序,表B.编号b as 编号,表b.名称b as 名称,表B.位置编号 as 位置编号 from 表B) order by 编号,顺序