Sql 多个值更新到新表中
发票 i_发票号码i_发票日期i_付款i_电子邮件地址i_小计Sql 多个值更新到新表中,sql,oracle,sql-update,Sql,Oracle,Sql Update,发票 i_发票号码i_发票日期i_付款i_电子邮件地址i_小计 4 7.99 31.96 10 试试这个 50 06-FEB-18 Cash 40 John@test 在Oracle中,可以使用子查询: UPDATE invoice i INNER JOIN ( SELECT invoice_number, sum(total) as line_item_to
4 7.99 31.96 10
试试这个
50 06-FEB-18 Cash 40 John@test
在Oracle中,可以使用子查询:
UPDATE invoice i
INNER JOIN
(
SELECT invoice_number, sum(total) as line_item_total
FROM line_item
GROUP BY invoice_number
) li ON i.invoice_number = li.invoice_number
SET i.subtotal = li.line_item_total
我得到了这个错误ORA-00934:这里不允许使用组函数啊…这是一个很好的观点。我没有测试这个。你在使用什么数据库?你能在我提供的陈述末尾添加一个groupby吗。group by li.invoice_numberIm使用我的SQL和im仍然会得到相同的错误代码,只是调整了此查询以不同的方式执行。给我编辑过的回复一个机会…@JohnZymbolikJamesZymbolik-如果你使用的是MySQL,为什么这个问题被标记为Oracle?
update invoice i
set subtotal = (select sum(li.li_total)
from line_item li
where i.invoice_number = li.invoice_number
);