【发布时间】:2019-04-18 22:40:57
【问题描述】:
我有一个表,其中已经包含值。我要更新的值是g_fuel_prft.billed_qty。我需要将这个表中的一个数字乘以另一个表中的一个数字来获得值。
所以表名是inv_header,其中包含inv_header.rpt_factor,g_fuel_prft,其中包含g_fuel_prft.billed_qty。条件是where inv_header.link=g_fuel_prft.lnk AND inv_header.rpt_factor = 0。
一旦我选择了这些行,我想将它们更新为billed_qty * rpt_factor
update g_fuel_prft
set billed_qty = (inv_header.rpt_factor * g_fuel_prft.billed_qty)
where exists
(select billed_qty,ivh_rpt_factor from g_fuel_prft,inv_header
where g_fuel_prft.prodlnk = inv_header.ivh_link
and inv_header.ivh_rpt_factor = 0)
我收到 201 语法错误
【问题讨论】:
-
你可以尝试使用这个子查询来代替
(select 1 from inv_header a where g_fuel_prft.prodlnk = a.ivh_link and ivh_rpt_factor = 0)吗? -
请为每个表添加大纲架构和相关数据。否则,只能对 SQL 进行有限的测试。