在SQL中使用先前的值更新零值

时间:2019-11-22 06:30:12

标签: sql sql-server

我正在使用SQL Server 2014 ...我有以下情况

enter image description here

我想用1196和1124更新这些0(零),反之亦然 PNO的数据类型为bigint,并且由于有大量记录而导致游标非常慢,请帮助或建议除CURSOR以外的任何其他查询

1 个答案:

答案 0 :(得分:1)

您可以使用CTE生成仅包含非零PNO值的表,然后使用{{ {1}}的最大值JOIN小于原始表的CTE的值。然后可以使用它来更新原始表:

id

Demo on dbfiddle