我有一张这样的桌子:
Id | Name | ParentId | Hierarchy
1 | California | 1 | 1
2 | San Deigo | 1 | 2
3 | Bay Area | 1 | 2
4 | San Fran | 1 | 2等级1表示最高级别,如加利福尼亚州。层次2表示第二级,如加利福尼亚州的州/地区,例如圣地亚哥。第三层表示像圣地亚哥的街道一样的第三层。是否可以获取具有2级父码的地区,看起来需要group by和join在同一个表中。
发布于 2020-06-05 19:37:56
这回答了问题的原始版本。
有没有可能得到具有2级父码的地区?
这只是一个选择:
select t.districtname, t.parencdoe
from t
where t.hierarhy = 2;您的数据格式不正确。您应该有一个引用该表的主键的parentid列。parentcode不合适。在所有行中都有像regionname这样的列似乎也是多余的。
发布于 2020-06-05 20:02:51
我想出了以下解决方案:
select p.name as Parent,
c.name as Child
FROM
theTable p
INNER JOIN theTable c ON p.id = c.parentId
where p.hierarchy = 1https://stackoverflow.com/questions/62210951
复制相似问题