我有多对多关系的表 stanje
和 transakcija
,如图所示:
我需要一个 MYSQL 子句,返回 stanje
中由连接到给定的每个 transakcija.iznos
的 SUM()
连接的所有行斯坦杰
.
到目前为止我已经尝试过
select SUM(t.iznos)
from transakcija t
where transakcija_id in
(select transakcija_id from stanje_transakcija where stanje_id = ?)
在给定 stanje_id
时正确返回 SUM()
,但不知道如何继续,因为我需要 stanje< 中所有行的总和
.
编辑:添加示例输出
------------------------------------
| stanje_id | naziv | SUM(t.iznos) |
------------------------------------
| 1 | a | 125.2 |
| 2 | b | -42.2 |
------------------------------------
最佳答案
如果我理解正确,您需要在 transakcija_id
列和 stanje_id
列的表中使用 JOIN
。
根据您的预期结果,您可以尝试将 SUM
与 GROUP BY
一起使用
select t2.stanje_id,t2.naziv,SUM(t.iznos)
from transakcija t
INNER JOIN stanje_transakcija t1 on t.transakcija_id = t1.transakcija_id
INNER JOIN stanje t2 on t2.stanje_id = t1.stanje_id
GROUP BY t2.stanje_id,t2.naziv
关于mysql - MYSQL 中多对多关系的 SUM(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51721931/