在节点关系表中只保存的该节点的后置节点我希望通过一条sql查询该节点的所有前置节点和后置节点
如果你只保存了节点的后置节点信息,而没有保存前置节点信息,那么通过一条 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
原文地址: http://www.cveoy.top/t/topic/hQyc 著作权归作者所有。请勿转载和采集!