我想在此查询的值进行更新,但它说,它返回多个值。T-SQL更新与SUM和GROUP BY
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;
消息512,级别16,状态1,行1
子查询返回多个值。当子查询遵循=,!=,<,< =,>,> =或当子查询用作表达式时,这是不允许的。
它是如何返回多列多?
它不返回超过1列,它返回多行, – 2012-08-10 21:57:48