Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

acdestefani

Consulta entre duas tabelas

Recommended Posts

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

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

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

join

select bairroimovel, sum(quantmenores) quantmenores ,sum(quantadultos) quantadultos
from sorteados , candidatos

where sorteados.codigocandidato , candidatos.codigo
group by bairroimovel

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.