如果你只保存了节点的后置节点信息,而没有保存前置节点信息,那么通过一条 SQL 查询同时获取该节点的前置节点和后置节点是不可能的。因为查询语句只能根据已经保存的信息来进行查询,而没有保存前置节点信息,就无法通过一条 SQL 查询同时获取前置节点和后置节点。

要实现同时获取节点的前置节点和后置节点,你可以考虑在节点关系表中保存前置节点信息。这样,你可以通过一条 SQL 查询来获取节点的所有前置节点和后置节点。以下是一个示例:

假设你的节点关系表结构如下:

CREATE TABLE node_relationship (
  id INT PRIMARY KEY,
  node_id INT,
  post_node_id INT
);

你可以通过以下 SQL 查询来获取节点的所有前置节点和后置节点:

SELECT pre.node_id AS pre_node_id, post.node_id AS post_node_id
FROM node_relationship pre
JOIN node_relationship post ON pre.post_node_id = post.node_id
WHERE post.node_id = <your_node_id>;

在上面的查询中,我们使用了一个自连接(self-join)来将前置节点和后置节点连接起来。首先,我们将 node_relationship 表自连接为两个别名为 pre 和 post 的表。然后,我们通过 pre.post_node_id = post.node_id 来连接前置节点和后置节点。最后,我们使用 WHERE 子句来限制查询结果只包含指定节点的前置节点和后置节点。

请注意,在上面的查询中,我们需要将 <your_node_id> 替换为你要查询的节点的实际 ID

在节点关系表中只保存的该节点的后置节点我希望通过一条sql查询该节点的所有前置节点和后置节点

原文地址: http://www.cveoy.top/t/topic/hQyc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录