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

没看懂语句,求解释

2012-05-11 
没看懂语句,求解释~在线等泡论坛,看了一条小F姐姐的问题解答,如下:表T的数据如下,A B-------A1 B1A1 B2A2

没看懂语句,求解释~在线等
泡论坛,看了一条小F姐姐的问题解答,如下:
表T的数据如下,
A B
-------
A1 B1
A1 B2
A2 B1
A3 B2

希望得到
A B
--------
A1 B1
A2 B2
A3

SQL code
;with f as(select id=row_number()over(partition by a order by getdate()),* from tb)select  isnull(a.a,'') as a,isnull(b.b,'') as bfrom(select px=row_number()over(order by getdate()),* from (select distinct id,a from f where id=1)t)aleft join (select px=row_number()over(order by getdate()),* from (select distinct id,b from f where id=1)t)bon a.px=b.px

惭愧,直接没看懂,上网搜索了一下,都讲的很抽象。
在此求教,那位老师能用直白的语言给逐条解释一下。

[解决办法]
SQL code
;with f as(select id=row_number()over(partition by a order by getdate()),* from tb   --按照A列排序)select  isnull(a.a,'') as a,isnull(b.b,'') as b  --A列,B列有值的直接列出,没有的就显示为空字符from(select px=row_number()over(order by getdate()),* from (select distinct id,a from f where id=1)t)a  --取出按照A列中的序列(不重复的)left join --俩个序列进行连接 (select px=row_number()over(order by getdate()),* from (select distinct id,b from f where id=1)t)b  --取出按照B列中的序列(不重复的)on a.px=b.px 

热点排行
Bad Request.