Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 多个值更新到新表中_Sql_Oracle_Sql Update - Fatal编程技术网

Sql 多个值更新到新表中

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

发票

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_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
                   );