acdestefani 0 Denunciar post Postado Setembro 22, 2016 Olá pessoal! Estou precisando fazer uma consulta usando duas tabelas, mas não tenho a menor idéia de como fazer isso. Poderiam me ajudar? Tenho uma tabela chamada candidatos, que possui o seguintes campos: codigo nome endereco quantmenores quantadultos A outra tabela se chama sorteados e possui os campos abaixo: codigocandidato bairroimovel Quando o candidato é sorteado preencho o campo codigocandidato da tabela sorteados com o campo codigo da tabela candidatos. No campo bairroimovel seleciono o bairro para onde ele foi sorteado. Preciso fazer uma consulta que me dê a quantidade de pessoas beneficiadas por bairro (campo bairroimovel da tabela sorteados), ou seja, teria que verificar se o candidato está cadastrado na tabela sorteados, depois somar os campos quantmenores e quantadultos da tabela candidatos e em seguida fazer um soma geral por bairro (campo bairroimovel) O relatório ficaria assim: Bairro 1: xxx beneficiados Bairro 2: xxx beneficiados Bairro 3: xxx beneficiados Bairro 4: xxx beneficiados Bairro 5: xxx beneficiados Poderiam me ajudar? Desde já agradeço a ajuda de vocês. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 22, 2016 sorteados e possui os campos abaixo: codigocandidato bairroimovel use GROUP BY select bairroimovel , count(codigocandidato) qtd from sorteados group by bairroimovel Compartilhar este post Link para o post Compartilhar em outros sites
acdestefani 0 Denunciar post Postado Setembro 22, 2016 Motta, muito obrigado pela sua ajuda. Neste caso a consulta mostra o total dos sorteados para cada bairro. Eu preciso que o total dos sorteados seja a soma dos campos quantmenores e quantadultos da tabela candidatos. Como poderia fazer isso? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 22, 2016 join select bairroimovel, sum(quantmenores) quantmenores ,sum(quantadultos) quantadultosfrom sorteados , candidatos where sorteados.codigocandidato , candidatos.codigogroup by bairroimovel Compartilhar este post Link para o post Compartilhar em outros sites
acdestefani 0 Denunciar post Postado Setembro 26, 2016 Motta, muito obrigado pela ajuda. Como optei em fazer as consultas separadamente, elas ficaram assim: SELECT s.bairroimovel, SUM(c.quantmenores) AS Total FROM candidatos c INNER JOIN sorteados s ON c.codigo = s.codigocandidato GROUP BY s.bairroimovel SELECT s.bairroimovel, SUM(c.quantadultos) AS Total FROM candidatos c INNER JOIN sorteados s ON c.codigo = s.codigocandidato GROUP BY s.bairroimovel Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 26, 2016 Qual a diferença ? Compartilhar este post Link para o post Compartilhar em outros sites
acdestefani 0 Denunciar post Postado Setembro 27, 2016 Nenhuma! Tenho muito que aprender ainda. Poderia fazer a mesma consulta tudo de uma vez. SELECT s.bairroimovel, SUM(c.quantadultos) AS TotalAdultos, SUM(c.quantmenores) AS TotalMenores FROM candidatos c INNER JOIN sorteados s ON c.codigo = s.codigocandidato GROUP BY s.bairroimovel Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 27, 2016 Cuidado com este tipo de soma , são duas diferentes se uma tabela tiver registros a mais que outro vai gerar um produto cartesiano indevido e somas erradas. Compartilhar este post Link para o post Compartilhar em outros sites
acdestefani 0 Denunciar post Postado Setembro 28, 2016 Valeu Motta! Muito obrigado pelas dicas. Compartilhar este post Link para o post Compartilhar em outros sites