Нужна помощь с запросом MySQL

Пожалуйста, помогите мне с этим запросом MySQL. Я был на нем достаточно долго. Возможно, ему нужны свежая пара глаз.

Две таблицы: блокировки и сеансы

locks
--------------
id session_id
--------------
1 sajf4$Jf9422jd
2 2jf*4j2okg9092
3 J8j4j4ffss93o2
------------------
sessions
-------------------------
id user_id
-------------------------
sajf4$Jf9422jd 14
J8j4j4ffss93o2 14
2jf*4j2okg9092 21
-------------------------

Я хочу удалить все строки в замках, где user_id сеанса = 14

5 ответов

DELETE FROM locks 
WHERE session_id IN (SELECT id FROM sessions WHERE user_id = 14)


УДАЛИТЬ ОТ locks ГДЕ session_id= (SELECT id FROM sessions ГДЕ user_id= 14);


удалить из блокировок, где session_id в (select_id из сеансов, где user_id = 14)


Другой способ без подзапроса:

удалить из замков  использование замков  присоединяться к session.id = locks.session_id  где sessions.user_id = 14


DELETE locks, sessions FROM locks INNER JOIN sessions WHERE locks.session_id=sessions.id;

licensed under cc by-sa 3.0 with attribution.