首页 > 解决方案 > 根据同一行的值更新行

问题描述

我正在尝试使用这样的请求对一行进行非常简单的更新:

UPDATE MY_TABLE 
SET LINE_TX = 1000/(SELECT AMOUNT FROM MY_TABLE WHERE LINE_ID = 1 AND LINE_ORDER = 2)
WHERE LINE_ID = 1 AND LINE_ORDER = 2;

有没有办法只用一个 where 子句来做到这一点?

标签: sqloraclequery-optimization

解决方案


只需引用该列:

UPDATE MY_TABLE 
    SET LINE_TX = 1000 / AMOUNT
    WHERE LINE_ID = 1 AND LINE_ORDER = 2;

推荐阅读