我有多对多关系的表stanje
和transakcija
,如图所示:
我需要一个MYSQL子句,该子句返回stanje
中的所有行,并与连接到给定SUM()
的每个transakcija.iznos
中的stanje
相连。
到目前为止,我已经尝试过
select SUM(t.iznos)
from transakcija t
where transakcija_id in
(select transakcija_id from stanje_transakcija where stanje_id = ?)
在给定SUM()
时正确返回stanje_id
,但是不知道如何进行,因为我需要stanje
中所有行的总和。
编辑:添加了示例输出
------------------------------------
| stanje_id | naziv | SUM(t.iznos) |
------------------------------------
| 1 | a | 125.2 |
| 2 | b | -42.2 |
------------------------------------
答案 0 :(得分:2)
如果我的理解正确,则需要在JOIN
列和transakcija_id
列的thoes表中使用stanje_id
。
根据预期结果,您可以尝试将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