从每个user_ID的一系列记录中,在一行中的一个表中返回sum

本文关键字:一个 sum 返回 一行 user ID 一系列 记录 | 更新日期: 2023-09-27 18:22:15

假设主表有10列带有Amount列,必须从第二个带有deposit列的表DepositTable中更新

  1. MainTable id是titheID,并且是唯一的,因此不允许有多个相同的值。

  2. DepositTable可以在不同的存款日期之后的几行上具有相同的titheID

  3. 我试过

    SELECT titheID, SUM(deposit)
    FROM DepositTable
    GROUP BY titheID
    

    它在DepositTable上起作用,但如何用每个titheID的结果更新MainTable Amount列是我的难题。

由于主表中titheID的唯一状态,它引发了ConstraintsException。

请帮助

从每个user_ID的一系列记录中,在一行中的一个表中返回sum

如果我理解正确,你正在寻找类似的东西

UPDATE MT
SET MT.Amount = Sec.Total
FROM MaiTable MT INNER JOIN (SELECT titheID, SUM(deposit) Total FROM DepositTable GROUP BY titheID) Sec ON MT.titheID = Sec.titheID

我说得对吗?