mysql-自加入对此处没有帮助.我还能使用什么其他方法?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-自加入对此处没有帮助.我还能使用什么其他方法?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1913字,纯文字阅读大概需要3分钟。
内容图文
![mysql-自加入对此处没有帮助.我还能使用什么其他方法?](/upload/InfoBanner/zyjiaocheng/886/3b9d3d23f4d948bfa6941e96f8a8d92b.jpg)
我陷入这个问题.请考虑下表.我只知道值A(即我可以使用WHERE user_one = A表中的SELECT *之类的东西).我尝试进行自我加入,但这没有帮助.
给定表
+----------+-----------+---------+
| USER_ONE | USER_TWO | STATUS |
+----------+-----------+---------+
| | | |
| A | B | 0 |
| | | |
| B | A | 1 |
| | | |
| A | C | 1 |
| | | |
| C | A | 1 |
| | | |
| D | A | 1 |
| | | |
| A | E | 0 |
+----------+-----------+---------+
我需要的结果如下.想象一下,如果状态为1,则user_one跟随user_two.状态0表示user_one先前跟随user_two,但是现在他取消了user_two的跟随.我需要关注“ A”的用户.请注意,我不希望它们都像(A-> B)和(B-> A)一样紧随其后的行都具有Status1.因此,以下响应的问题是, “找到我跟随A的人,但是A没有跟随他们”,是否有意义?一点帮助将不胜感激.
所需行
+----------+-----------+---------+
| USER_ONE | USER_TWO | STATUS |
+----------+-----------+---------+
| | | |
| B | A | 1 |
| | | |
| D | A | 1 |
+----------+-----------+---------+
解决方法:
这应该工作:
使用count(*)
select
t1.user_one,
t1.user_two,
t1.status
from
table t1
where
t1.status = 1 and
-- t1.user_two = 'A' and -- If looking for people following user A in specific then uncomment this line
(select count(t2.*)
from table t2
where t2.status = 1 and
t2.user_two = t1.user_one and
t2.user_one = t1.user_two) = 0
使用不存在
select
t1.user_one,
t1.user_two,
t1.status
from
table t1
where
t1.status = 1 and
-- t1.user_two = 'A' and -- If looking for people following user A in specific then uncomment this line
not exists
(select 1
from table t2
where t2.status = 1 and
t2.user_two = t1.user_one and
t2.user_one = t1.user_two)
内容总结
以上是互联网集市为您收集整理的mysql-自加入对此处没有帮助.我还能使用什么其他方法?全部内容,希望文章能够帮你解决mysql-自加入对此处没有帮助.我还能使用什么其他方法?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。