我有一个自引用的表,有一个主键id
和一个外键parent_id
。
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PK | NULL | IDENTITY |
| parent_id | int(11) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
我有一个表格如下所示(为了更清晰,减少了数据)
表格 MySiteMap
Id Name parent_id
1 A NULL
2 B 1
3 C 1
4 D 1
20 B1 2
21 B2 2
30 C1 3
31 C2 3
40 D1 4
41 D2 4
我希望用 SQL Server 查询获得分层结构:
A
|
B
|
| B1
| B2
C
|
| C1
| C2
D
|
| D1
| D2
有什么建议吗?