Acabei de entrar no forum, e estou com um problema (que surgem ao longo do aprendizado, ne?). O problema é o seguinte:
Eu tenho duas tabelas: Cadastros e Atualizações
Preciso contar quantos cadastros existem por bairro. A tabela Cadastros tem os cadastros únicos (sem repetição), e a tabela Atualizações tem as atualizações de cadastros (que pode não ter nenhuma ou diversas).
Assim, não estou conseguindo desenvolver um codigo em mysql (dentro de um script PHP) para esta conta, estou quebrando a cabeça para resolver. Vou colocar abaixo como estou tentando fazer:
Se eu faço um simples count:
select bairro, count(bairro) as total from cadastros group by bairro;
Retorna apenas os resultados da tabela Cadastros.
E se eu tento usar UNION:
select bairro, count(bairro) as total from (select bairro from cadastros union select bairro from atualizacoes) as temp group by bairro;
Ele retorna os registros da 1ª tabela mais os da segunda.
Entenderam o meu problema? Se existir uma (ou mais) atualizações na tabela Atualizações, apenas o registro mais recente deve ser considerado no count, e desconsiderado o respectivo cadastro da tabela Cadastros (através do ID do cadastro).
Abraço a todos e ficarei muito agradecido a quem puder me ajudar! E postem aí caso o tópico gere duvidas (assim como eu estou confuso rss).
Pergunta
adri2005
Olá amigos!
Acabei de entrar no forum, e estou com um problema (que surgem ao longo do aprendizado, ne?). O problema é o seguinte:
Eu tenho duas tabelas: Cadastros e Atualizações
Preciso contar quantos cadastros existem por bairro. A tabela Cadastros tem os cadastros únicos (sem repetição), e a tabela Atualizações tem as atualizações de cadastros (que pode não ter nenhuma ou diversas).
Assim, não estou conseguindo desenvolver um codigo em mysql (dentro de um script PHP) para esta conta, estou quebrando a cabeça para resolver. Vou colocar abaixo como estou tentando fazer:
Se eu faço um simples count:
select bairro, count(bairro) as total from cadastros group by bairro;
Retorna apenas os resultados da tabela Cadastros.
E se eu tento usar UNION:
select bairro, count(bairro) as total from (select bairro from cadastros union select bairro from atualizacoes) as temp group by bairro;
Ele retorna os registros da 1ª tabela mais os da segunda.
Entenderam o meu problema? Se existir uma (ou mais) atualizações na tabela Atualizações, apenas o registro mais recente deve ser considerado no count, e desconsiderado o respectivo cadastro da tabela Cadastros (através do ID do cadastro).
Abraço a todos e ficarei muito agradecido a quem puder me ajudar! E postem aí caso o tópico gere duvidas (assim como eu estou confuso rss).
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados