我有一个表,其中包含父子关系中的位置 ID。它基本上是一个层次结构,如:
State
-County
--City
表格用以下列映射层次结构
parentID
childID
type
如果我想获取给定位置的所有子位置,这很简单,例如:
SELECT childID FROM locations_table WHERE parentID = 1234 AND type = 'county'
但是,如果我需要跳过一个子级(例如,跳过县级并只包括特定州的城市),我无法弄清楚哪种 SQL 最适合这样做。
基本上,我试图获取特定 parentID 的子项的子项,但无法弄清楚如何在单个 SQL 语句中获取它。
最佳答案
使用自连接
SELECT childID
FROM locations_table T1
JOIN locations_table T2 ON T1.parentid = T2.childid
WHERE T2.parentID = 1234 AND T1.type = 'county'
关于sql - MySQL 跳过一个子级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746769/