GARANTIR DESCONTO

Fórum como usar COUNT(*) em um SELECT JOIN #52890

21/09/2005

0

uso o firebird 1.5, dialeto 3
como usar um cont nessa expressão

SELECT pessoas.*,
cidades.cidade,
cidades.cep,
cidades.uf,
coordenador.coordenador

from pessoas

left JOIN cidades on(pessoas.id_cidade = cidades.id_cidade)
left JOIN coordenador ON (pessoas.id_coordenador = coordenador.id_coordenador)

sendo q na tabela PESSOAS, eu gravo chaves estrangeiras das tabelas cidades(ID_CIDADE), coordenador(ID_Cordenador)
o select está funcionando legal, mais preciso colocar um count para cidade.


tentei assim

SELECT pessoas.nome, cidades.cidade, count(Cidade)
from pessoas
left JOIN cidades on(pessoas.id_cidade = cidades.id_cidade)
group by cidade, nome

ele me retorna contando... só q o group naum da certo, retorna contando um de cada... naum soma os iguais..

se alguem puder ajudar, agradeço..


Camilo

Camilo

Responder

Posts

22/09/2005

Emerson Nascimento

não entendi direito o propósito...

você quer mostrar cada registro sendo:

nome da pessoa, cidade, e quantidade de pessoas nessa cidade

é isso? se for, faça algo assim:

SELECT
  pes1.*, 
  cid1.cidade, 
  cid1.cep, 
  cid1.uf, 
  coordenador.coordenador,
  (select 
     count(cid2.cidade) 
   from
     cidades cid2
   inner join pessoas pes2
     on (pes2.id_cidade = cid2.id_cidade)
   where
     cid2.id_cidade = cid1.id_cidade) Quantidade
from
  pessoas pes1
left JOIN cidades cid 1
  on (cid1.id_cidade = pes1.id_cidade)
left JOIN coordenador
  on (coordenador.id_coordenador = pes1.id_coordenador)



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar