Sql 在列中填充缺少的值

Sql 在列中填充缺少的值,sql,sql-server,Sql,Sql Server,我试图得到输出作为 Item ID NULL 1 NULL 2 3 3 NULL 4 NULL 5 使用游标,我将底部的2个空值更新为4和5 使用标志我已经计算了3以上的空值,但我无法访问前2个位置? 方法正确吗 您所要求的不是100%清楚,但是COALESCE将接受多个参数,并返回第一个非空值 Item ID 1 1 2 2 3 3 4 4 5 5 要获取这两列,如果列的值为null,则该列将默认为其他列的值,您可以执行以下操作

我试图得到输出作为

Item  ID
NULL  1
NULL  2
3     3
NULL  4
NULL  5
使用游标,我将底部的2个空值更新为4和5 使用标志我已经计算了3以上的空值,但我无法访问前2个位置?
方法正确吗

您所要求的不是100%清楚,但是
COALESCE
将接受多个参数,并返回第一个非空值

Item  ID
1     1
2     2
3     3
4     4
5     5
要获取这两列,如果列的值为null,则该列将默认为其他列的值,您可以执行以下操作

SELECT COALESCE(Item, ID)

谢谢你的及时回复。我需要以升序或降序(在上面的示例中,我假设它是升序的)用缺少的值填充第一列。。。。我使用了光标,但没有得到完整的答案
SELECT COALESCE(Item, ID) AS Item,
       COALESCE(ID, Item) AS ID