mySQL在NOT()上加入?可能的
是否可以加入查询并使用NOT in()子句 我所拥有的是mySQL在NOT()上加入?可能的,mysql,join,Mysql,Join,是否可以加入查询并使用NOT in()子句 我所拥有的是 SELECT DISTINCT loc.*, a.firstname, a.lastname, a.profileimg, (((acos(sin((37.2790669*pi()/180)) * sin((`latitude`*pi()/180))+cos((37.2790669*pi()/180)) * cos((`latitude`*pi()/180)) * cos
SELECT DISTINCT loc.*,
a.firstname,
a.lastname,
a.profileimg,
(((acos(sin((37.2790669*pi()/180)) * sin((`latitude`*pi()/180))+cos((37.2790669*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((-121.874722 - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance` FROM memb_geo_locations loc
JOIN memb_baseInfo a ON a.mID = loc.mID
JOIN memb_friends c ON (c.mID = loc.mID OR c.friendID = loc.mID) AND (c.mID = 21 OR c.friendID = 21)
WHERE loc.primaryAddress = '1'
AND loc.mID NOT IN(21)
HAVING `distance` < 25 ORDER BY `distance` ASC LIMIT 0, 25
作为一个不在()的原因,我试图将那些“朋友”排除在结果之外
在memb_friends表中,mID列和friendID列在某种意义上都是相同的数字。依赖于提出友谊请求的人。假设我的ID是21,我可以是那张桌子上的friendID或mID,其他人的ID是对应的。比如说,我的名单上有10个朋友,数据库里有1000人。所以结论应该是,在查询完成后,我有990个结果要处理,但我坚持这一个,如何将表加入以用于查询,然后如何从中排除。如何进行外部联接并仅选择c.mID为null的行?在该表上,mID或friendID不会为null,也不会有一个条目指向990个我不是朋友的人,或者它会在那里表示我是10个朋友。啊,哈哈,好吧,我明白你现在想说什么。。在玩了一点之后,我仍然不能得到正确的结果,你会如何处理这个问题。因为在我的努力中,我要么得到了10个副本中的2个,要么得到了几个副本,尽管我得到了它。。令人惊叹的。这一点很顺利,谢谢你。
JOIN memb_friends c ON (c.mID = loc.mID OR c.friendID = loc.mID) AND (c.mID = 21 OR c.friendID = 21)