我在这里查看了论坛,了解到 t-SQL 没有 FOR 循环。但是,我想知道在这里做我需要做的最好的方法。
这是我的表(mytable)简化:
id Code1 Code2 Code3 CodeDesc1 CodeDesc2 CodeDesk3
__ _____ _____ _____ _________ _________ _________
1 ABC DEF ZYX
2 DEF ABC ZYX
3 ZYX GHJ ABC
实际情况下有更多的行和更多的 Code 和 CodeDesc 列。我正在将 SAS 代码转换为 T-SQL,SAS 代码有这个(简化):
DO x = 1 to 4 ;
IF code0(x) = 'ABC' THEN CodeDesc0(x) = 'ABC Description'
ELSE
IF code0(x) = 'DEF' THEN CodeDesc0(x) = 'DEF Description'
ELSE
IF code0(x) = 'ZYX' THEN CodeDesc0(x) = 'ZYX Description'
我的问题是如何在 T-SQL 中做类似的事情。
感谢您的建议。
添加更多信息...
如果我要使用直接 T-SQL 来做我需要做的事情,而无需任何编程,它看起来像这样:
UPDATE mytable SET CodeDesc1 = 'ABC Description' WHERE Code1 = 'ABC'
UPDATE mytable SET CodeDesc2 = 'ABC Description' WHERE Code2 = 'ABC'
UPDATE mytable SET CodeDesc3 = 'ABC Description' WHERE Code3 = 'ABC'
UPDATE mytable SET CodeDesc1 = 'DEF Description' WHERE Code1 = 'DEF'
UPDATE mytable SET CodeDesc2 = 'DEF Description' WHERE Code2 = 'DEF'
UPDATE mytable SET CodeDesc3 = 'DEF Description' WHERE Code3 = 'DEF'
因此,正如您可以通过几个不同的代码和描述看到的那样,我可以轻松编写 100 条更新语句来涵盖所有可能性。
我希望这有助于阐明更多信息。