Sql DELETE c вложенным SELECT?

Добрый день.
Есть таблицы

Semesters(Id,Name,CreatedBy)
Groups(Id,Name,SemesterId) //SemesterId привязан к Semesters.Id

Нужно удалить данные из таблицы Groups, допустим пользователь отсылает- удалить группу 1, потом надо проверить (через join) является ли он создателем "Семестра", в котором находится данная группа и если да- то удалить.

Почему именно так? Просто если попадётся "слишком умный чувак", что б он не поотсылал на удаление айдишники тех групп, которые ему не принадлежат
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
@TwoRS Автор вопроса
delete from groups WHERE SemesterId IN (SELECT id FROM semesters WHERE userid=7) AND groups.id=4
Проверка юзера 7 , который хочет удалить группу 4
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanan07
@Sanan07
Писатель-прозаик
delete G from Groups
inner join Semesters S on G.SemesterId=S.id
where exists
(//проверка что он создатель)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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