CREATE TABLE [A] (
[id] [bigint] NOT NULL ,
[id1] [int] NULL ,
   [id2] [int] NULL ,
) ON [PRIMARY]
GO
CREATE TABLE [B] (
[id] [bigint] NOT NULL ,
[id1] [int] NULL ,
          [id2] [int] NULL ,
) ON [PRIMARY]
GOinsert  into A values('1','1','0' )
insert  into A values('2','2','0' )
insert  into A values('3','3','0' )insert  into B values('1','1','3' )
insert  into B values('2','2','2' )
insert  into B values('3','3','1' )两表的关系是 A.id=B.id2select * from A left join B on A.id=B.id2
能得到这个:
id id1 id2      id id1    id2
-------------------------------------------------
1 1 0 3 3 1
2 2 0 2 2 2
3 3 0 1 1 3
我却想要这样的:id id1 id2
----------------------
1 1 0   (A表)
3 3 1    (B表)
2 2 0   (A表)
2 2 2    (B表)
3 3 0   (A表)
1 1 3   (B表)上周没有解决 现在在线求教~ 没有分了  实在对不起~drop table A
drop table B

解决方案 »

  1.   

    select id,id1,id2 from a
    union all
    select id,id1,id2 from b
      

  2.   

    select * from a union select * from b
      

  3.   


    select * from A
    union all 
    select * from B
      

  4.   


    select id,id1,id2 from (
    select id as f,* ,1 as c from A
    union 
    select id2 as f,* ,2 as c from B) a
    order by a.f,c
      

  5.   

    happydreamer(VSTS)  
    在http://community.csdn.net/Expert/topic/5339/5339394.xml?temp=.1993219
    里面还有60分 你去敲一下 给你  谢谢你 帮我解决了这个问题~
      

  6.   

    向 happydreamer(VSTS) ( ) 信誉:209    Blog 学习