Count com SQL - Não conta

13/12/2005

0

Alguém pode descobrir porque a sql abaixo não conta os registros . . .
quer2.Close;
Quer2.sql.clear;
Quer2.SQL.Add(´Select count(A.Cpf) conta, A.Nmedico, A.Ncons, A.Codpac ´);
Quer2.sql.add(´FROM ´prcons.DB´ A ´);
Quer2.sql.add(´Where (A.Cpf = :cp) ´);
Quer2.sql.add(´group by A.Nmedico, A.Ncons, A.Codpac´);
Quer2.ParamByName(´cp´).AsString := edit7.text;
Quer2.Prepare;
Quer2.Open;

Quero contar os registros que tenham o mesmo CPF. Só isso.


Amilton/pr

Amilton/pr

Responder

Posts

13/12/2005

Bruno Belchior

select count(*) from Tabela where CPF = :CPF
Da maneira que está fazendo o SQL retornará a quantidade de pessoas com o mesmo A.Nmedico, A.Ncons, A.Codpac...


Responder

13/12/2005

Amilton/pr

sim, mas não dá pra contar a quantidade de registro que contém o mesmo CPF e mostrar o nome, etc?


Responder

14/12/2005

Bruno Belchior

select nome, (select Count(*) from Tabela where CPF = :CPF) from Tabela where CPF = :CPF



Responder

14/12/2005

Marcio.theis

Vc também pode fazer assim:

select count(*), nucpfcnpj
from cliente
group by nucpfcnpj
having count(*) > 1



Responder

14/12/2005

Wiltonfenix

select nome,count(*) as conta from Tabela where CPF = :varCPF group by CPF



Responder

14/12/2005

Bruno Belchior

select nome,count(*) as conta from Tabela where CPF = :varCPF group by CPF
Creio que isso não rodará (Firebird) pois o campo CPF não está sendo listado nos campos retornados...


Responder

14/12/2005

Wiltonfenix

Não foi dito aqui que é em Firebird.

Simulei esse comando no MySQL e funciona perfeitamente. Não é necessário o campo do Group By estar na relação de campos retornados.


Responder

15/12/2005

Amilton/pr

Um detalhe. Uso Paradox (ainda . . .) Funciona?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar