@phpcoder81

Как выполнить обновление с условием?

Таблица клиенты `customers` (`id`, `name`, `count_contacts`, `contacts_exists`)
Таблица контакты `contacts` (`id`, `custoner_id`, `email`, `phone`)
Данный запрос, обновляет количество контактов у клиента.
UPDATE `customers` AS t1
JOIN (
  SELECT
  t2.`customer_id`,
  COUNT(*) as cnt
  FROM `contacts` AS t2
  GROUP BY t2.`customer_id`
) AS t3 
ON t1.`id` = t3.`customer_id`
SET t1.`count_contacts` = t3.`cnt`

НО. если контактов нет, то идеально было, в колонке `contacts_exists` поставить 0. Если же контактов более одного, то 1.
Как дописать данный запрос?
Пока что на ум приходит всё таки два запроса, а одним никак не додумаю.
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
@artsiom1976
t1.`contacts_exists` = IF(t3.`cnt` > 0, 1, 0)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы