SMY()通过MYSQL中的多对多关系

时间:2018-08-07 08:12:29

标签: mysql sql

我有多对多关系的表stanjetransakcija,如图所示:

tables

我需要一个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    |
------------------------------------

1 个答案:

答案 0 :(得分:2)

如果我的理解正确,则需要在JOIN列和transakcija_id列的thoes表中使用stanje_id

根据预期结果,您可以尝试将SUMGROUP 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