首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql有关问题~

2012-01-31 
sql问题~~` CREATETABLE[A]([id][bigint]NOTNULL,[id1][int]NULL,[id2][int]NULL,)ON[PRIMARY]GOCREATETAB

sql问题~~`

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]
GO

insert     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.id2

select   *   from   A   left   join   B   on   A.id=B.id2
能得到这个:
idid1id2             idid1         id2
-------------------------------------------------
110331
220222
330113


我却想要这样的:

idid1id2
----------------------
110       (A表)
331         (B表)
220       (A表)
222         (B表)
330       (A表)
113       (B表)

上周没有解决   现在在线求教~   没有分了     实在对不起~

drop   table   A
drop   table   B


[解决办法]

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

热点排行