mysql如何基于关系字段进行排序

时间:2018-03-11 13:18:49

标签: mysql sorting relationships

我偶然发现了以下无法解决的问题 我在数据库中有以下表格

CREATE TABLE `departments` (
  `Company` int(11) NOT NULL,
  `Department` varchar(32) NOT NULL,
  `DepartmentName` varchar(40) NOT NULL,
  `parentDepartment` varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



INSERT INTO `departments` (`Company`, `Department`, `DepartmentName`, `parentDepartment`) VALUES
(1, '1', 'Company1 Ltd', '1'),
(1, '101', 'Information Technology', '1'),
(1, '10101', 'Hardware', '101'),
(1, '10102', 'Software', '101'),
(1, '102', 'Sales Department', '1'),
(1, '10201', 'Travelling', '101');
COMMIT;

基本上是公司的部门清单。每个部门都可以使用“parentDepartment”字段“嵌套”在另一个部门之下。

Department字段是部门的代码。但编号与“结构”无关。

我想要实现的目标可以在下面的图片中看到。

How i need the data to show

问题是如何对此表进行排序并保持关系可见?

谢谢

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT *
FROM departments
ORDER BY department;