【问题标题】:SQL: Sum of multiple rows to update initial tableSQL:更新初始表的多行总和
【发布时间】:2024-01-19 07:00:01
【问题描述】:

以下内容不断给我错误,我已经确定它是组,但我不知道什么是错误的/如何修复。

t1

    c1 c2

    1 -

    2 -

t2

    c1 c2

    1 - 3

    1 - 2

    2 - 2

    2 - 2

    UPDATE T1 a, t2 b SET a.c2 = sum(b.c2)
    GROUP BY b.c1 HAVING b.c1 = a.c1;

【问题讨论】:

  • 你没有JOIN桌子,他们的链接ID是什么?

标签: mysql sql sql-server sum


【解决方案1】:

你可以试试这个:

UPDATE T1
SET c2 = (SELECT SUM(c2) FROM T2 WHERE c1 = T1.c1)

【讨论】:

    【解决方案2】:

    试试这个:

          UPDATE T1
          set a.c2= b.c2 from T1 a inner JOIN 
         (select c1, sum(c2) from T2 group by c1) b on a.c1 = b.c1;
    

    【讨论】:

      【解决方案3】:

      这个怎么样:

      UPDATE a SET a.c2 = sum(b.c2)
      FROM T1 a INNER JOIN t2 b ON a.c1 = b.c1     
      GROUP BY b.c1
      

      【讨论】:

        最近更新 更多