我想为以下内容创建 SQL Server 查询。我有这样的数据:
Id Name parentId
1 STU 0
2 XYZ 5
3 PQR 5
4 EFG 0
5 ABC 0
6 HIJ 1
7 DEF 1
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的查询:
SELECT *
FROM TABLE
ORDER BY CASE WHEN parentId = 0 THEN id ELSE parentId END ASC, id ASC
Run Code Online (Sandbox Code Playgroud)
输出(父级及其子级排序在一起):
Id Name parentId
1 STU 0
6 HIJ 1
7 DEF 1
4 EFG 0
5 ABC 0
2 XYZ 5
3 PQR 5
Run Code Online (Sandbox Code Playgroud)
现在我还需要按姓名排序,首先按父母的姓名,然后是所有孩子,也按姓名排序。预期的输出是:
Id Name parentId
5 ABC 0 …Run Code Online (Sandbox Code Playgroud)