Я пытаюсь обновить свою таблицу в SQL 2012, где значения CategoryNumber должны соответствовать указанным ниже именным значениям, но кажется, что мой синтаксис неправильный.

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

1 ответ1

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';

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .