SQL 重新对齐损坏数据的查询(即第 3 行的字段转到第 4 行中的相同字段,共 225 行)

SQL query to re-align corrupt data (ie. field form line 3 goes to same field in line 4 for 225 lines)

由于闪避 Excel 上传,我们损坏了第 6800 行和 7024 行之间的一些数据。对于这些行,每行的 description 值需要向下移动到下一行。

我在想这样的事情:

UPDATE `llx_entrepot` 
SET `description`= (
    SELECT `description` 
    FROM `llx_entrepot` 
    WHERE `rowid` = `rowid` -1) 
WHERE `rowid` >= 6800 AND `rowid` < 7025

但是,这不起作用。我该如何修复此代码以进行必要的调整?

您需要一个 self-join,这样您就可以将每一行与下一行配对。

UPDATE llx_entropot AS t1
JOIN llx_entropot AS t2 ON t1.rowid = t2.rowid - 1
SET t1.description = t2.description
WHERE t1.rowid BETWEEN 6800 AND 7025