このクエリが必要な情報を返す場合:
SELECT *, LINE_TOTAL = SUM(l.LINE_TOTAL) OVER
(PARTITION BY l.IC_PO_HEADER, l.RELEASE_NUMBER)
FROM dbo.PO_HEADER AS h
INNER JOIN dbo.PO_LINE AS l
ON h.IC_PO_HEADER = l.IC_PO_HEADER
AND h.RELEASE_NUMBER = l.RELEASE_NUMBER;
次に、これはおそらく必要なUPDATEクエリです:
;WITH x AS
(
SELECT h.TOTAL, lt = SUM(l.LINE_TOTAL) OVER
(PARTITION BY l.IC_PO_HEADER, l.RELEASE_NUMBER)
FROM dbo.PO_HEADER AS h
INNER JOIN dbo.PO_LINE AS l
ON h.IC_PO_HEADER = l.IC_PO_HEADER
AND h.RELEASE_NUMBER = l.RELEASE_NUMBER
)
UPDATE x SET TOTAL = lt;
私はゴードンに同意する必要があります、あなたのグループ化は非常に奇妙に思えます。正しく理解できたかどうかはわかりません(そのため、最初にSELECTを実行することを強くお勧めします)。