当前位置: 代码迷 >> Sql Server >> 急新手求解答,该如何处理
  详细解决方案

急新手求解答,该如何处理

热度:64   发布时间:2016-04-27 14:56:14.0
急。。。新手求解答
Table1
Name Time
张三 0745
张三 0945
张三 1210
张三 1520
张三 1750

Table2
Name Time1 Time2 Time3 Time4
张三 0745 0945 1210 1520

我现在要把Table1的内容存到Table2. Time1,Time2,Time3,Time4按照先后顺序排列,超过4个的不取


------解决方案--------------------
SQL code
select  name,  max(case px when 1 then Time else 0 end) as time1,  max(case px when 2 then Time else 0 end) as time2,  max(case px when 3 then Time else 0 end) as time3,  max(case px when 4 then Time else 0 end) as time4from  (select px=row_number()over(order by getdate()),* from tb)tgroup by  name
------解决方案--------------------
SQL code
;with cte as(select *,row=ROW_NUMBER()over(PARTITION by [name] order by [time]) from  Table1 )select [name], max(case row when 1 then [time] else 0 end) as time1,  max(case row when 2 then [time] else 0 end) as time2,  max(case row when 3 then [time] else 0 end) as time3,  max(case row when 4 then [time] else 0 end) as time4 from cte group by [name]name                                               time1       time2       time3       time4-------------------------------------------------- ----------- ----------- ----------- -----------张三                                                 745         945         1210        1520(1 行受影响)
  相关解决方案