请找到小提琴http://sqlfiddle.com/#!9/4a4aff/7
Friends_list表
| id | user_id | Friend_id | status
| 1 | 1 | 24 | P
| 2 | 18 | 26 | P
用户表
| ID | email | password | ..N
| 1 | xx | xx | xx
| 2 | xx | xx | xx
从这两个表中,我想列出所有用户,而没有在好友列表中状态为 P 或 B 的用户,使用连接似乎很简单,但在 wordpress 中,此代码不起作用,查询如下。
select DISTINCT u.ID, u.user_nicename from wp_users u
LEFT JOIN friends_list f ON f.friend_id=u.ID
WHERE f.status NOT IN ('P', 'B')
更改您的查询如下。如果您只想要第一个表中的数据,则不需要连接查询,只需使用内部查询
select DISTINCT u.ID, u.user_nicename from wp_users u WHERE u.ID not in
(select f.friend_id from friends_list f where f.status IN ('P', 'B')) order by u.ID;
编辑
select DISTINCT u.ID, u.user_nicename from wp_users u
LEFT JOIN friends_list f ON f.friend_id=u.ID
WHERE f.status NOT IN ('P', 'B') OR f.status IS NULL ORDER BY u.ID
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句