2010-08-22 176 views
4

请帮我看看这个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

回答

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

DELETE FROM锁 WHERE SESSION_ID ** ** IN(SELECT ID FROM会话WHERE USER_ID = 14) 但足够接近 – HyderA 2010-08-22 09:35:46

+0

好点 - 会更新 – 2010-08-22 17:14:59

2

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

从锁 使用锁上sessions.id = locks.session_id 加入会话删除:

2

从锁其中SESSION_ID在(select_id从会话其中USER_ID = 14)

1

的另一种方式,而不子查询删除 其中sessions.user_id = 14

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