当前位置: 代码迷 >> Sql Server >> sql话语查询的时候能插入空行吗
  详细解决方案

sql话语查询的时候能插入空行吗

热度:80   发布时间:2016-04-27 11:24:54.0
sql语句查询的时候能插入空行吗?
select * from table order by name

name score
张三 213
张三 32
李四 32
李四 54
李四 321
王小三 2
王小三 32
王小三 32

我按照name分组之后,能否遇到不同的name时自动插入一个空行?

name score
张三 213
张三 32

李四 32
李四 54
李四 321

王小三 2
王小三 32
王小三 32

------解决方案--------------------
SQL code
if not object_id('tb') is null    drop table tbGoCreate table tb([name] nvarchar(3),[score] int)Insert tbselect N'张三',213 union allselect N'张三',32 union allselect N'李四',32 union allselect N'李四',54 union allselect N'李四',321 union allselect N'王小三',2 union allselect N'王小三',32 union allselect N'王小三',32Go;with tmp1as(select rownum=row_number()over(partition by [name] order by getdate()),       *from tb),tmp2as(select b.name,       row_number()over(partition by b.name order by (getdate()))rownum,       null col1,       null col2from master..spt_values a,(select [name],        count(*)+1 px from tb group by [Name])bwhere a.type='P' and number<b.px )select a.name,       a.Scorefrom tmp2 b left join tmp1 aon a.rownum=b.rownum and a.name=b.name/*name Score---- -----------王小三  2王小三  32王小三  32NULL NULL李四   32李四   54李四   321NULL NULL张三   213张三   32NULL NULL(11 row(s) affected)*/
  相关解决方案