Написал такой запрос:
$this->database()->query('UPDATE ' . $this->database()->getTable('ad') . ' SET
view = CASE WHEN ad_id = 34 THEN 0 ELSE view END,
view = CASE WHEN ad_id = 35 THEN 1 ELSE view END,
view = CASE WHEN ad_id = 36 THEN 2 ELSE view END,
amount = CASE WHEN ad_id = 36 THEN 466 ELSE amount END
WHERE ad_id IN (34, 35, 36)');
Запрос изменяет по одному полю в строках с ad_id = 34 и 35, а в строке с ad_id = 36 изменяет сразу два поля "view" и "amount". Получается четыре поля подвергаются замене в трех строках. А как быть с:
WHERE ad_id IN (34, 35, 36)
Тут тоже надо указывать четыре ID?:
WHERE ad_id IN (34, 35, 36, 36)
Или достаточно указать по разу ID, неважно сколько полей будет затронуто в одной строке?