我有以下问题:
我想以某种方式从SQL导出数据,并将其可视化到某种树形图中。任何想法都会受到高度赞赏。
这是我的数据模型的快照。注意,当DivisonParentBranch = RegionParentBranch =分支时,这意味着分支是独立的。
DivisionParentBranch RegionParentBranch Branch
150 401 401
150 401 402
150 401 403
150 401 404
273 248 248
273 248 277
273 248 278
273 273 273
273 273 286
273 273 408
273 273 809
356 356 356
356 356 358
356 356 363
356 356 405
356 356 773
356 357 357
356 361 361
356 361 364
739 511 511
739 511 513
739 511 514
739 511 515
739 511 517
739 511 519
739 511 520
739 511 779

更新:
预期的结果是可视化这些分支层次结构。与下面的图像相仿的东西。我们已经有了500+分支,因此需要以某种方式将其自动化。

发布于 2019-02-28 16:37:36
这并不漂亮,我相信有人会更好地使用ROLLUP函数,但是从这个函数的输出开始,您可以循环遍历结果集,并根据下面的select构建一个基于层次结构的显示。第1级将是树的最顶端部分,第2级将链接到第1级并成为第二行,等等。
另外,正如评论中提到的,请不要将“数据”作为屏幕打印。
SELECT div_branch, null as reg_branch, null as branch, '1' as level
FROM @bracnhes
GROUP BY div_branch
union all
SELECT div_branch, reg_branch, null as branch, '2' as level
FROM @bracnhes
GROUP BY div_branch, reg_branch
union all
SELECT div_branch, reg_branch, branch, '3' as level
FROM @bracnhes
GROUP BY div_branch, reg_branch, branch我的输出,至少是我费心测试的一点,如下所示
div_branch reg_branch branch level
150 NULL NULL 1
273 NULL NULL 1
356 NULL NULL 1
150 150 NULL 2
150 401 NULL 2
273 248 NULL 2
273 273 NULL 2
356 356 NULL 2
356 357 NULL 2
356 361 NULL 2
150 150 150 3
150 150 151 3
150 150 153 3
150 150 154 3
150 150 961 3https://stackoverflow.com/questions/54929131
复制相似问题