【发布时间】:2017-08-23 08:58:21
【问题描述】:
Emp 表中的当前数据:
EmpId Name RejEmpId DOJ DOL
----------------------------------------------------------
1 Name1 NULL 10-12-2014 12-06-2015
2 Name1 1 06-04-2016 24-12-2016
3 Name1 2 01-04-2017 NULL
4 Name2 NULL 22-12-2014 21-07-2015
5 Name2 4 10-04-2016 22-12-2016
6 Name3 NULL 10-05-2015 NULL
7 Name4 NULL 10-05-2015 NULL
我想获取自定义列(All Parent And Child EmpId、Actual DOJ、Actual DOL)
EmpId Name RejEmpId DOJ DOL All
Parent
And
Child Actual Actual
EmpId DOJ DOL
1 Name1 NULL 10-12-2014 12-06-2015 1.2.3 10-12-2014 NULL
2 Name1 1 06-04-2016 24-12-2016 1.2.3 10-12-2014 NULL
3 Name1 2 01-04-2017 NULL 1.2.3 10-12-2014 NULL
4 Name2 NULL 22-12-2014 21-07-2015 4.5 22-12-2014 22-12-2016
5 Name2 4 10-04-2016 22-12-2016 4.5 22-12-2014 22-12-2016
6 Name3 NULL 10-05-2015 NULL 6 10-05-2015 NULL
7 Name4 NULL 10-05-2015 NULL 7 10-05-2015 NULL
8 Name5 NULL 12-06-2015 20-12-2016 8 12-06-2015 20-12-2016
【问题讨论】:
-
问题是什么? “为我写查询”不是问题。有 LOT 的重复问题展示了如何使用
hierarchyid或递归 CTE 编写分层查询。你尝试过什么吗?你有遇到什么问题吗? -
我确实使用了codeproject.com/Articles/818694/…“列中所有可能的父母”部分。我无法做到 Actual DOJ 和 Actual DOL。实际 DOJ 是第一个父 DOJ 和 Actual DOL 最后一个子 DOL
标签: sql-server parent-child hierarchy recursive-query