2014-09-21 1 views
0

У меня есть таблица Answer в SQL Server, как это:SQL - Обновление нескольких ячеек в одном столбцах с тем же ID

http://i.stack.imgur.com/DdKQ2.png

Поскольку AnswerID является автоинкрементным, и я не знаю точно его значение при запуске запроса.

Так как я могу обновить столбец AnswerContent?

Пример: Мне нужно обновить

  • "Leopard - False" в "Elephant - True"
  • "Tiger - True" в "Tiger - False"

Спасибо.

--- Update ---

Я не могу изменить структуру таблицы, потому что это порядок моего учителя.

+0

проблема, я не могу назвать специфической AnswerID – BraveVN

+0

, что вы можете ..... В противном случае поиск строки, которая будет обновляться в колонке содержание ..... –

+0

Look-Up! синтаксис команды UPDATE. [Это] (http://www.w3schools.com/sql/sql_update.asp) может быть хорошим местом для начала. СОВЕТ. Вы не должны использовать 'AnswerID' в своем предложении WHERE - вы можете использовать что-то еще. –

ответ

0

Вы можете сделать это одним выстрелом, используя выражение CASE. Вот пример:

UPDATE MyTable 
SET 
    AnswerContent = CASE 
     WHEN AnswerContent='Leopard' AND IsTrue='False` THEN `Elephant` 
     ELSE AnswerContent -- Keep the value unchanged 
    END 
, IsTrue = ... -- Do other columns using the same expression structure 
+0

Спасибо за помощь. – BraveVN

Смежные вопросы