SQL Server 查询当前行、上一行、下一行合并查询

     在SQL查询中,有时需要在查当前行时,同时将上一(几)行或下一(几)行数据与当前行合并到一行,便于做计算或查询显示。下面是我写的一个例子:

with t as
(
 select top 1000 * from 客户资金表名
 where 客户名称='北京科技公司'
 order by 创建时间
),t1 as
(
 SELECT top 1000 当前行=ROW_NUMBER() OVER(ORDER BY 创建时间),* FROM t
),t2 as
(
 SELECT top 1000 当前行=ROW_NUMBER() OVER(ORDER BY 创建时间),* FROM t
)
select
 t1.客户名称,t1.结余资金帐 as 本期结余资金帐,t1.创建时间
 t2.结余资金帐 as 上期结余资金帐
from t1,t2 where t1.当前行=(t2.当前行+1)

posted @ 2011-07-28 15:25  PongorXi  阅读(5577)  评论(0编辑  收藏  举报