【问题标题】:Querying a database representation of a tree (MySQL)查询树的数据库表示(MySQL)
【发布时间】:2010-07-29 21:07:20
【问题描述】:

我有两个表,一个包含节点,第二个包含它们之间的关系,如下所示:

表 A(命名节点)

NodeID | NodeName 
 100   |  Name 1
 101   |  Name 2
 102   |  Name 3

表 B(命名关系)

NodeParent | NodeChild
  100      |    101
  101      |    102

我需要执行一个查询,该查询需要查找哪些节点是孤立节点(它们不在关系表中)。如何同时搜索 NodeParent 和 NodeChild?

【问题讨论】:

    标签: mysql


    【解决方案1】:
    SELECT 
      n.NodeID 
    FROM 
      Node AS n 
    LEFT JOIN 
      Relationship AS r
    ON
      n.NodeID = r.NodeChild
    WHERE
      r.NodeChild IS NULL
    

    【讨论】:

      【解决方案2】:

      这将为您提供关系表中没有子节点的所有节点。

      select n.*
      from Node n
      left join Relationship r on r.NodeChild = n.NodeID
      where r.NodeChild is null;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多