A喜欢B,但是B不喜欢A?

发布于 2024-10-20 21:26:59 字数 250 浏览 2 评论 0原文

如果我的表(称为 Table)看起来像这样:

A B
1 2
3 2
2 1
etc...

这意味着 1 喜欢 2、3 喜欢 2、2 喜欢 1...假设它比这个大得多,我如何编写一个 SQL 查询来报告 A 喜欢的位置B,但是B不喜欢A?

因此,对于这种情况,示例输出应该是:

3 2

因为从关系中 3 喜欢 2,但 2 不喜欢 3。

If my table, called Table, looks like this:

A B
1 2
3 2
2 1
etc...

This would imply 1 likes 2, 3 likes 2, and 2 likes 1...assuming its a lot bigger than this, how do I write an SQL query where I report where A likes B, but B does not like A?

So for this case, an example output should be:

3 2

Because 3 likes 2 from the relation, but 2 does not like 3.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拧巴小姐 2024-10-27 21:26:59
SELECT A, B
  FROM likes x
 WHERE NOT EXISTS (SELECT * FROM likes
                    WHERE x.A = B AND x.B = A)
SELECT A, B
  FROM likes x
 WHERE NOT EXISTS (SELECT * FROM likes
                    WHERE x.A = B AND x.B = A)
故事与诗 2024-10-27 21:26:59

我认为你只需要使用左连接(免责声明:我使用SQL Server而不是postgresql)

select l.A, l.B
from likes l
  left join likes nl on l.B=nl.A and l.A=nl.B
where nl.A is null 

I think you just need to use a left join (Disclaimer: I use SQL Server not postgresql)

select l.A, l.B
from likes l
  left join likes nl on l.B=nl.A and l.A=nl.B
where nl.A is null 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文