【发布时间】:2018-03-11 13:18:49
【问题描述】:
我偶然发现了以下我无法解决的问题 我在数据库中有下表
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字段为部门代码。但是编号与“结构”无关。
我想要达到的效果可以看下图。
问题是如何整理这张表并保持关系可见?
谢谢
【问题讨论】:
-
你的订单逻辑是什么?我能想到的只有
order by rpad(Department, 5, 0) -
如果您可以查看图片,则排序应该按其父级和子级排序。问题是他们的部门代码与关系无关
-
如果您认为您的问题已经表达得足够好,那么请从众多有用的答案中选择一个。
标签: mysql sorting relationships