我有一个带有此表的MySQL 5.1 DB(释义)......
contracts
---------
id
parent_id
end_date
因此,合约可以通过parent_id
建立父子关系,并且可以有多个级别的嵌套。
考虑到id
的一些合同,假设 1 ,如何编写查询以查找其中的最后一个end_date
及其后代?
(用id
获得合同end_date
也很棒。)
答案 0 :(得分:1)
SQL中的递归可能难以实现 - 如果您也获得循环关系会发生什么?
我会考虑将关系分解为一个单独的表格,明确地列出它们。
例如
contact_id super_id relationship
1 10 Parent
1 20 Grandparent
10 20 Parent
等等。它有一些工作要让它们保持最新但值得付出努力。将合同加入其所有父母也是一件简单的事情