我正在尝试将列更新为最大值,但仅在按适当的标识符分组时.
SQL小提琴我试图用试用和失败的代码:(.
SQL Fiddle我希望它在更新后看起来像什么.
您可以借给我的任何帮助将不胜感激.据我所知,max()只占用列的最大数量,那么如何在不破坏它的情况下对更新语句进行排序?
我想用这个查询中的值更新,但它说它返回多个值.
UPDATE PO_HEADER
SET TOTAL = (SELECT SUM(LINE_TOTAL) AS "NEW_LINE_TOTAL"
FROM PO_LINE pl, PO_HEADER ph
where ph.IC_PO_HEADER = pl.IC_PO_HEADER
and ph.RELEASE_NUMBER = pl.RELEASE_NUMBER
group by pl.IC_PO_HEADER,pl.FOREIGN_KEY,ph.RELEASE_NUMBER,
ph.REVISION_NUMBER,ph.PO_NUMBER)
from PO_HEADER ph, PO_LINE pl
where ph.IC_PO_HEADER = pl.IC_PO_HEADER;
Run Code Online (Sandbox Code Playgroud)
消息512,级别16,状态1,行1
子查询返回的值超过1.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.
它是如何返回多个列的?