Sql获取给定树型数据库的一个国家的所有城市

大卫

我得到了一张这样的桌子

Id  Name     Type      ParentId

1    US       country    -1
2    NY        state      1
3    NYC       city       2
4   Yonkers    city       2
5   Washington state      1
6   Seattle    city       5
7   Tacoma     city       5  
8   Canada     country    -1
9   Manitoba    state      8 

我想写一个sql查询来写一个州的所有城市。

例子

Country state city
US      NY     NYC
US      NY      Yonkers

我知道我需要编写递归查询,但不能这样做。我需要帮助来为此编写 sql。

他们不是
SELECT t1.name country, t2.name state, t3.name city
FROM table t1
JOIN table t2 ON t1.id = t2.parent_id
JOIN table t3 ON t2.id = t3.parent_id
WHERE t2.name = 'NY';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Boot REST Hibernate-获取一个国家的所有城市

如何在另一个模块中获取给定类的所有实例

如何通过HERE API获取给定城市内给定半径内的所有城市?

从数据库获取给定月份和年份的所有日期的记录,如果数据库中不可用,则为空白

如何使用数据库中的 SQL 查询获取国家和城市的数量?

获取一个州的所有城市

如何使用一个SQL查询从数据库中删除所有表?

如何使用一个 SQL 查询从数据库中删除所有外部表?

一个数据库或单独的数据库中的所有客户?

我无法从数据库中获取所有图像只有一个图像从数据库中获取

如何使用MYSQL在一个单词后获取所有具有大写字母的数据库

我的光标仅从sql数据库中获取最后一个条目,但我需要所有这些

Laravel:获取一个在数据库中存在给定次数的项目?

当从数据库获取数据时只获取一行的第一个索引,我想要每一行的所有数据

Codeigniter活动记录类-从数据库中获取除一个字段外的所有字段

SQL如何显示最后一个“。”之前的所有字符 在数据库中@之后

一个sql触发器,对数据库中的所有表进行插入,更新,删除

检索一个国家的城市清单

显示数据库中的所有表,但只有一个?

获取第一个不同(给定)列值的所有值的 SQL 查询

Laravel从具有一个或多个类别的数据库中获取数据

可以只使用一个游标对数据库执行所有操作吗?

在Firebase Realtime数据库中的所有记录中添加一个额外的字段

向数据库中的所有列添加一个值

将所有内容插入数据库(除mongodb中的一个)

将一个表与数据库中的所有表进行比较

如何使用SQL Server Management Studio将所有存储过程从一个数据库转移到另一个数据库

如何将所有配置单元表从一个数据库复制到另一个数据库

将所有密钥从一个数据库复制到Redis中的另一个数据库