【发布时间】:2019-06-11 03:20:58
【问题描述】:
我正在设置一个 Rails“从 csv 导入”任务,我遇到了以路径形式存在的部门数据(在 db 中)。我希望它是邻接列表。
我有:
ID, NAME, PATH
---------
1,Valve,000
2,Steam,000.000
3,Sales,000.000.000
4,Developers,000.000.112
7,Designers,000.000.112.000
8,Game Designers,000.000.112.000.000
9,UI Designers,000.000.112.000.002
10,Web Designers,000.000.112.000.001
11,3D Designers,000.000.112.000.003
12,Accounting managers,000.000.114.000
13,Accounting topmanagers,000.000.114.000.000
我想要的:
ID, NAME, PATH, PARENT_ID
---------
1,Valve,000, nil
2,Steam,000.000, 1
3,Sales,000.000.000, 2
4,Developers,000.000.112, 2
7,Designers,000.000.112.000, 4
8,Game Designers,000.000.112.000.000, 7
9,UI Designers,000.000.112.000.002, 7
10,Web Designers,000.000.112.000.001, 7
11,3D Designers,000.000.112.000.003, 7
12,Accounting managers,000.000.114.000, 322
13,Accounting topmanagers,000.000.114.000.000, 12
【问题讨论】:
-
那么,您只想将前一行的 ID 附加到每一行吗?你能展示一下你的尝试吗?
-
@maxpleaner 问题是路径不包含标识符,只有序列号。
-
应该
'322'是'2'? -
@CarySwoveland 不,他们不在销售部门(路径为 000.000.114),这是另一个部门。
-
请解释
'322'在底层图形方面的含义。
标签: mysql ruby graph hierarchical-data adjacency-list