Как объединить конкретную команду SELECT с UPDATE - SQL

Мне нужно обновить столбец некоторых конкретных таблиц в моей базе данных SQL.

У меня есть команда SELECT, которая выбирает ВСЕ правильные таблицы, но я понятия не имею, как мне совместить это с UPDATE (я полный нуб).

SELECT
  c.id_customer AS id_customer,
  id_gender,
  firstname,
  lastname,
  c.email AS email,
  birthday,
  date_add,
  c.active AS active,
  c.*,
  a.id_group
FROM prstshp_customer_group a
LEFT JOIN prstshp_customer c
  ON (a.id_customer = c.id_customer)
WHERE 1
AND a.id_group = 4
AND c.deleted != 1
AND c.id_shop IN (1)
ORDER BY id_group ASC

Мне нужно обновить столбец с именем id_default_group в таблице prstshp_customer со значением «4» определенных записей, выбранных в таблице prstshp_customer_group.

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

использовать update join

update prstshp_customer
join
(
SELECT
  c.id_customer AS id_customer,
  id_gender,
  firstname,
  lastname,
  c.email AS email,
  birthday,
  date_add,
  c.active AS active,
  a.id_group
FROM prstshp_customer_group a
LEFT JOIN prstshp_customer c
  ON (a.id_customer = c.id_customer)
WHERE 1
AND a.id_group = 4
AND c.deleted != 1
AND c.id_shop IN (1)
)B on prstshp_customer.id_customer=B.id_customer
SET id_default_group=4

Спасибо за быстрый ответ! Я попробовал это и получил следующие ошибки: Статический анализ: во время анализа было обнаружено 3 ошибки. Ожидалось выражение. (возле "таблицы" на позиции 7) Неизвестное ключевое слово. (возле «стола» в позиции 7) Неожиданный токен. (возле "prstshp_customer" на позиции 13)

Marco Bersnak 03.04.2019 09:34

Также пытался удалить "таблицу". Затем я получаю «# 1060 - Повторяющееся имя столбца« id_customer »»

Marco Bersnak 03.04.2019 09:39

Я думаю, что причина в c.* в SELECT

FanoFN 03.04.2019 10:07

@tcadidot0, да, ты прав - я этого не заметил - спасибо

Fahmi 03.04.2019 10:08

@MarcoBersnak, можешь проверить сейчас

Fahmi 03.04.2019 10:08

СПАСИБО, все отлично заработало :). Ты просто класс!!

Marco Bersnak 03.04.2019 10:11

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