mySQL JOIN ON NOT()?可能的

标签 mysql join

是否可以在查询中加入 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(((-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

我需要这条线

JOIN memb_friends c ON (c.mID = loc.mID OR c.friendID = loc.mID) AND (c.mID = 21 OR c.friendID = 21)

充当 NOT IN() 因为我试图将“ friend ”的人排除在结果之外 在 memb_friends 表上,列 mID 和friendID 在某种意义上是相同的数字。取决于谁发起了友谊请求。假设我的 ID 是 21,我可以是该表上的 friend ID 或 mID,而其他人的 ID 是对应的。比如说,我的名单上有 10 个 friend ,我的数据库中有 1000 个人。所以结论应该是查询完成后我有 990 个结果可以使用,但我坚持在这个问题上,要么如何加入表以供查询使用,然后如何从那里排除。

最佳答案

进行外连接并仅选择 c.mID 为 null 的行怎么样?

关于mySQL JOIN ON NOT()?可能的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9515217/

相关文章:

mysql - 当两个表都包含 NULL 时如何加入

MYSQL QUERY 具有来自单个表的多个选项

PHP zend left join 转换查询中的日期

wpf - 在不使用 anchor 的情况下通过一条线连接两个 WPF Canvas 元素?

python - 使用抓取的数据填充 MySQL 表

sql - 自然连接和内连接的区别

php - 即使连接数据为空,Mysql如何返回行

mysql workbench记录限制

mysql - rails 3 : How to find records with field possibly equals to nil?

java - Spring mvc Time 列接收 null 导致 HttpMessageNotReadableException