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错误。也许会有帮助。