我有这样的结构的表格:重写与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