SQL Shift Table列向下1

时间:2014-12-05 12:31:57

标签: sql-server

我有一个包含+15百万行和36列的表,表中引用的每个对象都有两行数据。我需要:

将一列0向下移动一个空格,以便该列的有用信息显示在下面的行中。

以下是列数较少的数据示例:

表名= ekd0310

我想将第0列向下移1

Column 0    Column 1    Column 2    Column 3
B02100AA.CZE            
B02100AA.CZF    I   MIGA0027    SUBDIREC.019
B02100AA.CZG            
B02100AA.CZH    I   MIGA0027    SUBDIREC.019
B02100AA.CZI            
B02100AA.CZJ    I   MIGA0027    SUBDIREC.019
B02100AA.CZK            '

1 个答案:

答案 0 :(得分:0)

您正在寻找的功能可能是lead()。如果您假设有一个指定排序的列,则可以使用此方法。一个例子:

select e.*, lead(col) over (order by id) as nextcol
from ekd0310 e;

虽然这是ANSI标准功能,但并非所有数据库都支持它(尚未)。您可以使用相关子查询执行类似操作。同样,上面的内容返回信息,但也可以将其作为更新。