[英]Cascading data in single select statement in SQL
我有如下表结构,它是普通的国家,state,城市结构我试图在单个查询中获取所有数据,如下所示。 我只想要单个 select 语句中的所有数据,但我想要国家,然后是它的第一个 state 及其所有城市,然后是第二个 state 等等。
国家
+-----+----------+
| id | name |
+-----+----------+
| 1 | USA |
| 7 | Australia|
+-----+----------+
状态
+-----------+----------+------------+
| state_id | name | country_id |
+-----------+----------+------------+
| 1 | state1 | 1 |
| 2 | state2 | 1 |
| 3 | state3 | 2 |
| 4 | state4 | 2 |
+-----+----------------+------------+
城市
+-----+----------+------------+
| id | name | state_id |
+-----+----------+------------+
| 1 | city1 | 1 |
| 2 | city2 | 1 |
| 3 | city3 | 1 |
| 4 | city4 | 2 |
| 5 | city5 | 2 |
| 6 | city6 | 2 |
+-----+----------+------------+
我正在尝试获取 output 如下所示
+-----+----------+
| id | name |
+-----+----------+
| 1 | USA |
| 1 | state1 |
| 1 | city1 |
| 2 | city2 |
| 3 | city3 |
| 2 | state2 |
| 4 | city4 |
| 5 | city5 |
| 6 | city6 |
| 7 | Australia|
+-----+----------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.