我有一个包含列表的表。第一列是列表的唯一索引,第二列包含列表中的顺序(1,2,3等),然后还有其他几列。其中一列包含列表分隔符(&#34 ;;"),但显然只在列表的前N-1行中。也就是说,只有一行(item)的列表没有分隔符,2行的列表只在行1中有分隔符,等等。任何列表中的最后一行(N)在相应列中都没有分隔符
从任何行中没有分隔符的初始状态开始,用分隔符正确填写的语句是什么?
样本数据(仅相关列):
1 1 ;
1 2 <empty>
2 1 <empty>
3 1 ;
3 2 ;
3 3 <empty>
etc.
答案 0 :(得分:2)
如果列表中不允许重复,则以下解决方案应该有效:
UPDATE listtable t1
SET t1.column3 = ';'
WHERE t1.column2 < ( SELECT MAX(t2.column2)
FROM listtable t2
WHERE t1.column1 = t2.column1 )