Sql 我想找到';不适用';值并用下一个值更新它
我有一个表,其中很多值都是“N/a”。我想用下一个非“N/A”值更新它 我的桌子:Sql 我想找到';不适用';值并用下一个值更新它,sql,tsql,Sql,Tsql,我有一个表,其中很多值都是“N/a”。我想用下一个非“N/A”值更新它 我的桌子: col1 || column2 || Column3 N/A || ACT0001 || ACT0002 ACT0004 || N/A || ABT0003 N/A || N/A || AND0009 输出: 专栏4 ACT001 ABT003 AND009 提前谢谢你我不确定我是否理解你的意思,也许是这样的 UPDATE YourTable t SET
col1 || column2 || Column3
N/A || ACT0001 || ACT0002
ACT0004 || N/A || ABT0003
N/A || N/A || AND0009
输出:
专栏4
ACT001
ABT003
AND009
提前谢谢你我不确定我是否理解你的意思,也许是这样的
UPDATE YourTable t
SET t.col4 = CASE WHEN t.col1 = 'N/A' THEN
CASE WHEN t.col2 <> 'N/A' THEN t.col2
ELSE t.col3
END
WHEN t.col2 = 'N/A' THEN t.col3
END
更新您的表格t
当t.col1='N/A'时,设置t.col4=CASE,然后
当t.col2'不适用'时,则t.col2
艾尔斯特柯尔
结束
当t.col2='N/A'时,则t.col3
结束
这个怎么办:
UPDATE Table
SET Col4 = COALESCE(NULLIF(Col1, 'N/A'), NULLIF(Col2, 'N/A'), NULLIF(Col3, 'N/A'))
如果Col3
始终有值,则可以删除NULIIF
语句;如果所有值均为“N/A”,则可以添加其他条件:
COALESCE(NULLIF(Col1, 'N/A'), NULLIF(Col2, 'N/A'), NULLIF(Col3, 'N/A'), 'No value found')
到目前为止你试过什么?您的数据库中只有3列,或者会更多?谢谢,这就是我要找的。
COALESCE(NULLIF(Col1, 'N/A'), NULLIF(Col2, 'N/A'), NULLIF(Col3, 'N/A'), 'No value found')