MYSQL查询以更新与ManagerID of user表相关的分支表的父id的层次结构

MYSQL查询以更新与ManagerID of user表相关的分支表的父id的层次结构,mysql,Mysql,我有以下数据的用户和分支表 **users table** id ManagerID 1 3 2 1 3 5 4 null 5 4 **Branch Table** id parent_ID related_user_id 100 4 200 3 300

我有以下数据的用户和分支表

     **users table**
    id    ManagerID
    1      3
    2      1
    3      5
    4      null
    5       4

    **Branch Table**
    id  parent_ID related_user_id 
    100               4
    200               3
    300               5   
    400               1
**父\u ID是分支表中ID(分支表)的引用。 ManagerID是用户表中id(用户表)的父级。 id 4具有null ManagerID表示没有父级

现在所有ManagerID都已在分支表中可用,分支表基本上是用户表的id,现在我需要从用户表的id更新父id 分支表。 从上面的示例可以看出,id 1的ManagerID在用户表中为3,id 3可用作与Manager表中id 200对应的相关用户id。 因此,id 1的父id应该是200。 我需要更新从上述信息在一个单一的查询和结果应该是

    **Branch Table**
    id  parent_ID related_user_id 
    100    null       4
    200    300        3
    300    100        5   
    400    200        1

请给我提供解决方案

这应该满足您的要求:

UPDATE Branch b1
  JOIN users u ON u.id = b1.related_user_id
  LEFT JOIN Branch b2 ON b2.related_user_id = u.ManagerID
   SET b1.parent_ID = b2.id;

非常感谢。这正是我想要的解决方案。但是,当查询运行正常时,您能帮助我吗?一切运行正常,但我遇到了一个错误,如:一般错误:2053(SQL:UPDATE Branch b1 JOIN users u ON u.id=b1.related_user_id LEFT JOIN Branch b2.related_user_id=u.ManagerID SET b1.parent_id=b2.id;)我应该做些什么来解决这个问题this@ak001看起来像是PHP错误。也许会有帮助。