1

我有一张像

ID | ParentID |FrontLine| Name | Address
----------------------------------------
1  | Null     |        | Xyz  | Home
2  |   1      |        | ABC  | Home
3  |   2      |        | DEF  | Home
4  |   3      |        | GHI  | Home
5  |   3      |        | GHI  | Home

我需要在 FrontLine 中填写一个查询。例如,1 的 FrontLine 将是 2,3,4,5,3 的 FrontLine 将是 4,5

所以查询后的表应该是这样的

ID | ParentID |FrontLine| Name | Address
----------------------------------------
1  | Null     |2,3,4,5 | Xyz  | Home
2  |   1      |3,4,5   | ABC  | Home
3  |   2      |4,5     | DEF  | Home
4  |   3      |Null    | GHI  | Home
5  |   3      |Null    | GHI  | Home

如何使用 MySQL 查询来做到这一点?

4

1 回答 1

0

我认为你不能在一个更新查询中做到这一点。MySQL 不处理树结构查询。(Oracle 拥有connect by priorstart with 组织结构,但 MySQL 无法做到这一点)。

我会编写一个存储过程,它自己执行递归地每次更新一个级别并增加FrontLine值。

于 2013-08-12T07:29:20.660 回答