2010-08-22 173 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;