sql - A喜欢B,B不喜欢A?

标签 sql postgresql

如果我的表 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。

最佳答案

SELECT A, B
  FROM likes x
 WHERE NOT EXISTS (SELECT * FROM likes
                    WHERE x.A = B AND x.B = A)

关于sql - A喜欢B,B不喜欢A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5253536/

相关文章:

c# - 如何加密 SQLite 数据库文件 ".s3db"?

sql - 将 MySQL 转储导入 R(不需要 MySQL 服务器)

mysql - SQL查询比较3个表并得到答案

postgresql - 使用openlayers将空的多线串保存到postgis中

sql - 在 PostgreSQL 中用大写字母拆分单词

sql - SQL 中有没有一种方法可以将目录中包含的所有 .csv 导入到我的 postgres 表中? (窗口操作系统)

postgresql - 如何找出碎片索引并在 PostgreSQL 中对其进行碎片整理?

postgresql - 有什么办法可以加快这个 Postgres 位图堆扫描的速度吗?

sql - 如何在多个表上构建动态查询

c# - C# 中的 SQL 连接字符串