我有一张将工作链接在一起的表格:
JobToJob
(
JobToJobId int
SourceJobId int
DestinationJobId int
)
一个 Job 可以有多个 Destination Jobs(即多于 1 个 JobToJob 记录),但只有 1 个源 Job。所以这创建了一个树结构。根记录定义为在任何其他记录上没有 DestinationJobId 条目的记录。
我的要求是检索提供的作业 ID 的整个树。我把它分成两部分:
- 找到给定作业 ID 的根作业
- 检索根作业 ID 的所有叶子。
我曾尝试使用递归 CTE 进行此操作,但我没有得到任何结果。我知道我可能可以通过使用存储过程来做到这一点,但我试图避免这样做,因为它们往往会减慢速度。
有没有比我有更多递归 CTE 经验的人对解决这个问题的最佳方法有任何建议?
干杯,
抢