gpt4 book ai didi

MySQL 距离关系的传递闭包

转载 作者:行者123 更新时间:2023-11-29 21:49:40 26 4
gpt4 key购买 nike

有一个表distances(city1, city2, dist)列出了几个城市以及它们之间的距离。协议(protocol)是,从这些信息中我们可以获得更多距离,就像表 distances 中的 dist A -> B 和 dist B -> C 一样,这样我们就可以获得不在表中的 A -> C 距离

任务是生成表distances_tr(city1, city2, dist),其中第一个表具有传递闭包,其中包括(A, C, dist(A,C)).

如何使用 PROCEDURE 和简单的 SQL SELECT、INSERT、UPDATE 命令来实现这一目标?我知道可以递归地完成,但教授告诉我们两种方法都可以。

最佳答案

将 city2 上的表从一侧连接到另一侧的 city1。这里的假设是,不存在 city1 和 city2 的组合出现两次并且城市翻转的记录。如果是,请添加一个过滤器来过滤掉一侧的 city1 与另一侧的 city2 相等的位置。

关于MySQL 距离关系的传递闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com