遇到一個以樹狀結構存盤的層級部門需要轉換為交叉表,超高難度,想了好幾天沒解決,請高手指點!!先謝謝啦~~~!!!!
源表結構:
|--ID--|--部門名稱 --|--部門經理--|--上級部門--|
| 1 | A部門 | 張三 | |
| 2 | A-1 部門 | 李四 | 1 |
| 3 | A-2部門 | 王五 | 1 |
| 4 | A-1-1部門 | 譚六 | 2 |
| .... | ... | ... | ... |
源表中層級結構不固定,大概在7~8級部門,資料量有300+條
希望輸出結構:
|--ID--|--部門名稱 --|--部門經理--|--n級部門--|--n級部門名稱--|--n-1級部門--|-- .... --| -- 1級部門 --|
| 2 | A-1部門 | 李四 | | | | | A部門 |
| 3 | A-2部門 | 王五 | | | | | A部門 |
| 3 | A-1-1部門 | 王五 | | | | A-1-1部門 | A部門 |
| .............................................................................. |
求各位高手指點!!!!
uj5u.com熱心網友回復:
可以使用ltree擴展來實作類似的功能:https://www.postgresql.org/docs/13/ltree.html例如這樣:
bill=# select * from ltreetest ;
c1
-------
A
A.1
A.1.1
A.2
A.1.2
A.2.1
(6 rows)
bill=# select * from ltreetest where c1 @> 'A.1.2';
c1
-------
A
A.1
A.1.2
(3 rows)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/13338.html
標籤:PostgreSQL
