多重连接Mysql使SUM值加倍(Multiple Joins Mysql Doubles SUM values)
我试图做一个查询,但它的Sum值加倍
SELECT cidades.id AS id, cidades.name AS municipio, Sum(conjuntos.n_uhs) AS uh, programas.id AS programa, conjuntos.name FROM conjuntos Inner Join conjuntos_programas ON conjuntos_programas.conjunto_id = conjuntos.id Inner Join programas ON programas.id = conjuntos_programas.programa_id Inner Join cidades ON conjuntos.cidade_id = cidades.id WHERE conjuntos.situation_id = 2 GROUP BY conjuntos.cidade_id ORDER BY municipio ASCIm trying to make a a query, but its doubling the Sum values
SELECT cidades.id AS id, cidades.name AS municipio, Sum(conjuntos.n_uhs) AS uh, programas.id AS programa, conjuntos.name FROM conjuntos Inner Join conjuntos_programas ON conjuntos_programas.conjunto_id = conjuntos.id Inner Join programas ON programas.id = conjuntos_programas.programa_id Inner Join cidades ON conjuntos.cidade_id = cidades.id WHERE conjuntos.situation_id = 2 GROUP BY conjuntos.cidade_id ORDER BY municipio ASC最满意答案
您有重复的行,您可以通过从您的查询中删除group by以及SUM(...来检查此行。 改变查询如下,并告诉我,如果解决问题。
SELECT DISTINCT cidades.id AS id, cidades.name AS municipio, SUM(conjuntos.n_uhs) AS uh, programas.id AS programa, conjuntos.name FROM conjuntos INNER JOIN conjuntos_programas ON conjuntos_programas.conjunto_id = conjuntos.id INNER JOIN programas ON programas.id = conjuntos_programas.programa_id INNER JOIN cidades ON conjuntos.cidade_id = cidades.id WHERE conjuntos.situation_id = 2 GROUP BY conjuntos.cidade_id ORDER BY municipio ASCYou've got duplicate rows, you can check this by removing the group by and the SUM(... from your query. Change the query as follows and tell me if that fixes to problem.
SELECT DISTINCT cidades.id AS id, cidades.name AS municipio, SUM(conjuntos.n_uhs) AS uh, programas.id AS programa, conjuntos.name FROM conjuntos INNER JOIN conjuntos_programas ON conjuntos_programas.conjunto_id = conjuntos.id INNER JOIN programas ON programas.id = conjuntos_programas.programa_id INNER JOIN cidades ON conjuntos.cidade_id = cidades.id WHERE conjuntos.situation_id = 2 GROUP BY conjuntos.cidade_id ORDER BY municipio ASC更多推荐
发布评论