我有這樣的結構的表格:重寫與LEFT MySQL的子查詢的JOIN
- UID
- SID
所有整數。該表模擬兩個用戶之間的友誼。
我想要做的就是找到只存在於一個方向的記錄。
例如: 我想查找具有t1.u_id = 15的記錄數,當沒有記錄具有t2.s_id = 15和t2.u_id = t1.s_id時。
因此,兩個ID之間的關係只存在一次。
在我看來,我設法使用子查詢編寫正確的查詢,但後來我開始重寫查詢使用左連接來提高速度,現在...以及它不工作。
我的查詢現在的問題是:
SELECT * FROM `friends` AS f1 LEFT JOIN `friends` AS f2
ON f1.user_id = f2.friend_id
WHERE f1.friend_id=15 AND f2.user_id IS NULL
,但它不工作。請幫忙。
注意:我正在使用mysql 5,所以我不能使用EXCEPT語句和所有其他好東西。
解釋*如何*它不工作?記錄它發現它不應該或反之亦然? – ysth 2009-12-18 09:45:38