我有以下'departments'表:
+-------+-------------+-------------------+
| rowid | department | parent_department |
+-------+-------------+-------------------+
| 10 | Main Office | NULL |
+-------+-------------+-------------------+
| 11 | Back Office | 10 |
+-------+-------------+-------------------+
| 12 | Commercial | NULL |
+-------+-------------+-------------------+
| 13 | Outdoor | NULL |
+-------+-------------+-------------------+
| 14 | Beach | 13 |
+-------+-------------+-------------------+
| 15 | Gardening | 13 |
+-------+-------------+-------------------+
| 16 | Accounting | 10 |
+-------+-------------+-------------------+我想以rowid和parent_department为基础订购如下:
+-------+-------------+-------------------+
| rowid | department | parent_department |
+-------+-------------+-------------------+
| 10 | Main Office | NULL |
+-------+-------------+-------------------+
| 11 | Back Office | 10 |
+-------+-------------+-------------------+
| 16 | Accounting | 10 |
+-------+-------------+-------------------+
| 13 | Outdoor | NULL |
+-------+-------------+-------------------+
| 14 | Beach | 13 |
+-------+-------------+-------------------+
| 15 | Gardening | 13 |
+-------+-------------+-------------------+
| 12 | Commercial | NULL |
+-------+-------------+-------------------+因此,对于每个rowid,查找'parents_departments'是否存在,并按以下方式显示顺序。
请注意,我没有设计当前的表,遗憾的是,我没有更改它的权限。
发布于 2017-02-13 07:30:03
试试这个:
SELECT rowid, department, parent_department
FROM departments
ORDER BY IFNULL(parent_department, rowid), rowid;https://stackoverflow.com/questions/42198642
复制相似问题