salix/db/routines/vn/views/departmentTree.sql

18 lines
420 B
SQL

CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn`.`departmentTree`
AS SELECT `node`.`id` AS `id`,
concat(
CONVERT(
repeat(repeat(' ', 5), COUNT(`parent`.`id`) - 1) USING utf8mb3
),
`node`.`name`
) AS `dep`
FROM (
`vn`.`department` `node`
JOIN `vn`.`department` `parent`
)
WHERE `node`.`lft` BETWEEN `parent`.`lft` AND `parent`.`rgt`
GROUP BY `node`.`id`
ORDER BY `node`.`lft`