2014-12-05 81 views
0

您好,感谢您的帮助。SQL Shift Table Column Down 1

我有一个+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

没有固有的_even_或_odd_行的概念。你想如何订购行?为什么要使用这样一个奇怪的模型,听起来好像你忘记添加一个细节表。 – 2014-12-05 12:34:35

+0

SQL表格表示无序集合。没有“偶数”和“奇数”行的概念,除非您有一列指定行号或行排序。此外,您应该用您正在使用的实际数据库标记问题。 – 2014-12-05 12:34:47

+0

谢谢两个 - 对于偶数/奇数解决方案,我愿意增加一列增量值。说实话,如果将列0向下移动一个比较容易,那么我很乐意这样做。这是对一组兽性表格的一次性分析。 – shallcrass 2014-12-05 12:38:43

回答

0

您正在寻找的功能可能是lead()。如果您认为有一列指定了排序,那么可以使用它。举例:

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

尽管这是一个ANSI标准函数,但并非所有的数据库都支持它。你可以用相关的子查询做类似的事情。同样,上述内容会返回信息,但也可以将其作为更新进行更新。

相关问题