在SQL Server数据库查询过程中,我们有时候需要在查询当前行时,同时将上一(几)行或下一(几)行数据与当前行合并到一行,进行合并查询。便于做计算或查询显示。本文我们给出了一个例子,通过这个例子我们来了解一下如何把当前行、上一行和下一行的数据合并在一起进行查询。
本例子的代码:
- 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)
如果您还是不太明白上面的代码,没有关系,下图给出了上面代码的详细解释,相信您一定会看懂的。
相信通过上面的代码示例和图中的代码解释,我们一定能明白这一过程是怎么实现的了。关于SQL Server数据库当前行及上一行、下一行合并查询的知识就介绍到这里了,如果您想了解更多的关于SQL Server数据库的知识,可以看一下这里的文章:http://database.51cto.com/sqlserver/,相信一定会带给您收获的!
【编辑推荐】