Как устранить эту синтаксическую ошибку в SQL-запросе postgresql для обновления нескольких строк в одном столбце

Учитывая tableA в базе данных Postgres, мне нужно обновить несколько строк в поле column_a:

UPDATE tableA
SET
  column_a = CASE WHEN column_a = 'conserve' THEN column_a = 'fixed',
  column_a = CASE WHEN column_a = 'balance' THEN column_a = 'moderate',
  column_a = CASE WHEN column_a = 'balance growth' THEN column_a = 'moderate growth',
  column_a = CASE WHEN column_a = 'aggressive' THEN column_a = 'moderate/agressive';

но я получаю следующую синтаксическую ошибку:

Error: syntax error at or near ","

Вам не хватает END: CASE..WHEN..THEN..END

HoneyBadger 16.05.2022 16:14
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
1
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать это с помощью одного оператора CASE:

UPDATE tableA
SET
  column_a = CASE WHEN column_a = 'conserve'       THEN 'fixed'
                  WHEN column_a = 'balance'        THEN 'moderate'
                  WHEN column_a = 'balance growth' THEN 'moderate growth'  
                  WHEN column_a = 'aggressive'     THEN 'moderate/agressive'
             END;

Попробуйте здесь.

Другие вопросы по теме