我越来越想运行此查询时出现错误:#1111 - 无效使用组功能
UPDATE tbl1, tbl2 SET `tb1`.field=SUM(tbl2.grade) WHERE tbl2.word=tbl1.word
这是错误:#1111 - Invalid use of group function
我基本上是试图得到的总和从tbl2的领域,将其插入TBL 1
我越来越想运行此查询时出现错误:#1111 - 无效使用组功能
UPDATE tbl1, tbl2 SET `tb1`.field=SUM(tbl2.grade) WHERE tbl2.word=tbl1.word
这是错误:#1111 - Invalid use of group function
我基本上是试图得到的总和从tbl2的领域,将其插入TBL 1
达到你想要做什么,最简单的方法是通过一个子查询:
UPDATE tbl1 SET tbl1.field=
(SELECT SUM(tbl2.grade) FROM tbl2 WHERE tbl2.word=tbl1.word)
你选择从tbl2的多个值,并希望他们的在TBL1每个条目的总和。
尝试这样做:
UPDATE tbl1
SET `tbl1`.field = (
SELECT SUM(tbl2.grade)
FROM tbl2
WHERE tbl2.word = tbl1.word
);
加入反对计算每个单词总分的子查询。
UPDATE tbl1 a
INNER JOIN
(
SELECT word, SUM(grade) totalGrade
FROM tbl2
GROUP BY word
) b ON a.word = b.word
SET a.field = b.totalGrade