@ialekseyi2020

Как удалить данные из таблицы clans, при условии что в таблице clan_players отсутствует нужные данные?

Здравствуйте.

Есть таблица clans, в ней есть поле leader.
Есть таблица clan_players, в ней есть поле name.
Необходимо удалить данные в таблице clans по полю leader.

Суть: Если в таблице clan_players какие либо данные в поле name отсутствуют, значит необходимо чтобы в таблице clans по полю leader данные удалились.

leader и name это никнейм. В clans leader - IAlekseyI, и в clan_players в поле name должно быть IAlekseyI. Если нету - удаление данных в clans (leader).

Сложновато объяснять, но надеюсь меня кто нибудь понял.. Если что, задавайте вопросы, что уточнить может нужно...
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
если я Вас правильно понял, то надо удалить все записи в таблице clans, для которых лидеры отсутствуют в таблице игроков
для этого логично использовать LEFT JOIN
список лидеров, у которые отсутствуют в списке игроков
SELECT c.leader FROM clans c LEFT JOIN clan_players cp ON c.leader = cp.name WHERE cp.name IS NULL;

проверяйте, если все ок - дальше все просто
DELETE FROM clans WHERE leader in (SELECT c.leader FROM clans c LEFT JOIN clan_players cp ON c.leader = cp.name WHERE cp.name IS NULL);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы