Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySQL在NOT()上加入?可能的_Mysql_Join - Fatal编程技术网

mySQL在NOT()上加入?可能的

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

是否可以加入查询并使用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(((-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)