在 SQL 中更新多个字段

在 SQL 中更新多个字段

我正在尝试更新 SQL 2012 中的表,其中 CategoryNumber 值应该与下面的名称值相对应,但似乎我的语法是错误的。

Update mytable
SET mytable.CategoryNumber IN ('02','05','10')
where mytable.name IN ('peter','michael','ralf')

答案1

IN是定义一组值的运算符,因此它被视为无序列表。您无法按照您尝试的方式执行此操作。我建议逐个执行:

Update mytable
SET mytable.CategoryNumber = '02'
where mytable.name = 'peter';

Update mytable
SET mytable.CategoryNumber = '05'
where mytable.name = 'michael';

Update mytable
SET mytable.CategoryNumber = '10'
where mytable.name = 'ralf';

相关内容