繁体   English   中英

从每个 user_ID 的一系列记录中返回一个表中的总和

[英]Returning sum in one table in one row from a series of records per user_ID

假设主表具有10列与Amount列,它必须形成一个第二表,该更新DepositTable ,与deposit

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

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

  3. 我试过了

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

    它适用于存款表,但如何使用每个 titheID 的结果更新 MainTable Amount 列,这是我的难题。

由于 MainTable 中 titheID 的唯一状态,它会抛出约束异常。

请帮忙

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

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

我对吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM