使用自身表基于列方式条件更新查询

时间:2017-01-20 18:51:37

标签: mysql

我需要更新ManagerId,因为我有以下表格结构

    userid  EmpAccId ManagerAccId ManagerId
     1        X         Y           
     2        Y         Z
     3        Z         X

我需要根据EmpAccId和ManagerAccId更新上面的表格,因为userId 1 managerId应该是2,因为用户ID为1的EmpAccId是X而ManagerAccId是Y而Y的用户ID是2所以对于用户ID 1 MangerId应该是2。 所以结果表应该是

   userId  EmpAccId ManagerAccId ManagerId
     1       X        Y             2
     2       Y        Z             3
     3       Z        X             1

我需要在sql中使用单个动态查询。

3 个答案:

答案 0 :(得分:0)

试试这个

$section="test";

答案 1 :(得分:0)

您可以使用左连接来实现此目的:

UPDATE mytable as TB1
LEFT JOIN  mytable as TB2
    ON TB1.ManagerAccId = TB2.EmpAccId 
SET TB1.ManagerId= TB2.userId   

答案 2 :(得分:0)

这也可以帮到你

    update table  t1  left join table t2 on t1.EmpAccId=t2.ManagerAccId set t2.ManagerId=t1.userId;