日期:2014-05-19  浏览次数:20491 次

两表组合的问题
问题:A表有字段id(int),   a1,   B表有字段id(int),   b1,     a.id   与b.id相关联。现在想把A表和B表的信息关联。如
A表:       1       'AAA '
                1       'BBB '
B表:       1       'B1 '
                1       'B2 '
                1       'B3 '
这种情况下组成记录
1       'AAA '     'B1 '
1       'BBB '     'B2 '
1       ' '           'B3 '

如果是另一种情况: '
A表:       1       'AAA '
                1       'BBB '
                1       'CCC '
B表:       1       'B1 '
                1       'B2 '
这种情况下组成记录
1       'AAA '     'B1 '
1       'BBB '     'B2 '
1       'CCC '     ' '

也就是说,条数以最多的为准,表A和表B只有id有相关性,字段a1与b1无相关性,只需依次放就可以了,无顺序性。
如何处理啊。。。

------解决方案--------------------
借用臨時表吧

Select *, New_ID = Identity(Int, 1, 1) Into #A From A
Select *, New_ID = Identity(Int, 1, 1) Into #B From B

Select IsNull(A.id, B.id) As id, A.a1, B.b1 From #A A Full Join #B B On A.New_ID = B.New_ID

Drop Table #A, #B