Somar varios Join no mysql
Bom dia, alguem pode me dar uma luz
tenho essa query abaixo:
SELECT bairro.ba_bairro AS ba_bairro, count(cadastro.ca_bairro) AS count_ca_outro_bairro, sum(cadastro.ca_bairro) AS sum_ca_bairro FROM (cadastro LEFT JOIN bairro ON bairro.ba_codigo=cadastro.ca_bairro) GROUP BY bairro.ba_bairro
que faço uma mysql_fetch_assoc() mostrando o nome do bairro x e o total de registro dele na tabela cadastro
sendo que o mesmo existe mas 10 campos chamados:
ca_outro_bairro_1,ca_outro_bairro_2,ca_outro_bairro_3,ca_outro_bairro_4,ca_outro_bairro_5,ca_outro_bairro_6,ca_outro_bairro_7,ca_outro_bairro_8,ca_outro_bairro_9,ca_outro_bairro_10
eu queria somar todos
pois um cadastro pode morar no bairro x mas tem conhecido no bairro y
ai eu quero ter um relatório aonde mostra o total por bairro que some o total de cadastro nessas colunas relacionadas acima
exemplo o bairro : bairro “centro” existe 20 cadastro na coluna ca_bairro e na coluna ca_outro_bairro_1 tem 10 registro entao no bairro centro vai mostra 30 registro e assim com as outras colunas
tenho essa query abaixo:
SELECT bairro.ba_bairro AS ba_bairro, count(cadastro.ca_bairro) AS count_ca_outro_bairro, sum(cadastro.ca_bairro) AS sum_ca_bairro FROM (cadastro LEFT JOIN bairro ON bairro.ba_codigo=cadastro.ca_bairro) GROUP BY bairro.ba_bairro
que faço uma mysql_fetch_assoc() mostrando o nome do bairro x e o total de registro dele na tabela cadastro
sendo que o mesmo existe mas 10 campos chamados:
ca_outro_bairro_1,ca_outro_bairro_2,ca_outro_bairro_3,ca_outro_bairro_4,ca_outro_bairro_5,ca_outro_bairro_6,ca_outro_bairro_7,ca_outro_bairro_8,ca_outro_bairro_9,ca_outro_bairro_10
eu queria somar todos
pois um cadastro pode morar no bairro x mas tem conhecido no bairro y
ai eu quero ter um relatório aonde mostra o total por bairro que some o total de cadastro nessas colunas relacionadas acima
exemplo o bairro : bairro “centro” existe 20 cadastro na coluna ca_bairro e na coluna ca_outro_bairro_1 tem 10 registro entao no bairro centro vai mostra 30 registro e assim com as outras colunas
Lucas
Curtidas 0
Melhor post
Alex Lekao
04/09/2018
Ola Lucas, bom dia!!!
Não sei se entendi bem, mas acredito que vc terá que fazer subselects para dar os resultados em separado(colunas) conforme falou.
Espero ter ajudado.
Atenciosamente,
Não sei se entendi bem, mas acredito que vc terá que fazer subselects para dar os resultados em separado(colunas) conforme falou.
Espero ter ajudado.
Atenciosamente,
GOSTEI 1
Mais Respostas
Emerson Nascimento
30/08/2018
não sei se é a melhor forma, mas deve trazer o resultado esperado:
SELECT t.bairro, b.ba_bairro, COUNT(*) qtdreg from ( SELECT ca_bairro bairro FROM cadastro UNION ALL SELECT ca_outro_bairro_1 FROM cadastro UNION ALL SELECT ca_outro_bairro_2 FROM cadastro UNION ALL SELECT ca_outro_bairro_3 FROM cadastro UNION ALL SELECT ca_outro_bairro_4 FROM cadastro UNION ALL SELECT ca_outro_bairro_5 FROM cadastro UNION ALL SELECT ca_outro_bairro_6 FROM cadastro UNION ALL SELECT ca_outro_bairro_7 FROM cadastro UNION ALL SELECT ca_outro_bairro_8 FROM cadastro UNION ALL SELECT ca_outro_bairro_9 FROM cadastro UNION ALL SELECT ca_outro_bairro_10 FROM cadastro ) t LEFT JOIN bairro b ON b.ba_codigo = t.bairro GROUP BY t.bairro, b.ba_bairro
GOSTEI 1