Для использования конструкции CASE WHEN THEN в запросе SQL, необходимо следовать следующему синтаксису:
```sql
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END AS alias
FROM table_name;
```
Пример использования конструкции CASE WHEN THEN для замены значений полей в зависимости от условий:
```sql
SELECT
CASE
WHEN column1 = 'value1' THEN 'new_value1'
WHEN column2 = 'value2' THEN 'new_value2'
ELSE 'default_value'
END AS new_column
FROM table_name;
```
Чтобы правильно сформулировать запрос при замене четырех полей в трех разных строках так, чтобы не повторять один и тот же ID несколько раз в выражении WHERE, можно использовать подзапрос или JOIN для объединения и обновления нужных строк. Необязательно повторять один и тот же ID в выражении IN столько раз, сколько полей будет изменено в одной строке. Можно указать ID один раз и использовать логические операторы для объединения условий.
Пример запроса для замены значений полей для одного и того же ID только один раз:
```sql
UPDATE table_name
SET
column1 = CASE
WHEN condition1 THEN 'new_value1'
ELSE column1
END,
column2 = CASE
WHEN condition2 THEN 'new_value2'
ELSE column2
END,
column3 = CASE
WHEN condition3 THEN 'new_value3'
ELSE column3
END,
column4 = CASE
WHEN condition4 THEN 'new_value4'
ELSE column4
END
WHERE id = your_id;
```
Таким образом, можно избежать повторения ID несколько раз в выражении WHERE и обновить все нужные поля для одного и того же ID.