SQL查询删除传递依赖(而不是包括)

时间:2017-01-09 12:10:59

标签: sql postgresql-9.3

假设我有一个包含以下结构的表:

| R1 | R2 |
-----------
|  1 |  2 |
|  1 |  4 |
|  1 |  3 |
|  1 |  5 |
|  4 |  5 |

示例数据:

| R1 | R2 |
-----------
|  1 |  2 |
|  1 |  4 |
|  1 |  3 |
|  4 |  5 |

这意味着R2单向依赖于R1(R2 - > R1)。

以上数据表示1直接取决于2,4,3。并且1取决于传递依赖的5,因为1依赖于4而4取决于5.因此通过传递依赖,1和5是相关的但我不想在我的列表中显示这一点。

预期结果:

{{1}}

相关链接:

  1. SQL query to resolve transitive dependencies in database
  2. transitive reduction algorithm: pseudocode?
  3. 任何人都可以为此编写SQL查询吗?

0 个答案:

没有答案