表1
ID X Y
1 0.5 0.5
2 ? ?
3 5 5
大家好,
基本上我有一张像上面那样的桌子。我试图更新ID = 2的X和Y的值,其结果是除其他列的值。
我尝试运行此查询但没有太大成功,
"UPDATE Table1 SET X = X IN (WHERE ID = 1) / Y IN (WHERE ID = 3) WHERE ID = 2"
我想要的结果是
ID X Y
1 0.5 0.6
2 (0.5/6) (0.6/5)
3 5 6
答案 0 :(得分:1)
在许多数据库中,您可以使用JOIN
。在MySQL语法中,这看起来像:
UPDATE Table1 t1 JOIN
Table1 t1_1
ON t1_1.ID = 1 JOIN
Table1 t1_3
ON t1_3.ID = 3
SET t1.X = t1_1.X / t1_3.X,
t1.Y = t1_3.X / t1_3.Y
WHERE t1.ID = 2;
使用子查询可以实现类似的逻辑,但代码有点混乱。