consulta sql com count
Tenho um problema
tenho uma tabela de vendas com ranking de vendas...
preciso fazer uma consulta (com edit) por vendedor que conte quantas vezes esse vendedor ficou em certa posição ex.:
nome posicao qtdade
andre 1 1
andre 2 4
andre 5 1
sandro 1 2 etc...
fiz o seguinte:
componentes:
edit
dbgrid
qryPosicao.Close;
qryPosicao.SQL.Text := select * from classificacao where nome= :nome;
qryPosicao.Parameters.ParamByName(nome).Value := edt1.Text;
qryPosicao.Open;
e na string da qry fiz..select nome,posicao, count(posicao) from vendas group by nome,posicao prder by nome
mas quando executo dáo seguinte erro...qryposicao field count ot found..
tenho uma tabela de vendas com ranking de vendas...
preciso fazer uma consulta (com edit) por vendedor que conte quantas vezes esse vendedor ficou em certa posição ex.:
nome posicao qtdade
andre 1 1
andre 2 4
andre 5 1
sandro 1 2 etc...
fiz o seguinte:
componentes:
edit
dbgrid
qryPosicao.Close;
qryPosicao.SQL.Text := select * from classificacao where nome= :nome;
qryPosicao.Parameters.ParamByName(nome).Value := edt1.Text;
qryPosicao.Open;
e na string da qry fiz..select nome,posicao, count(posicao) from vendas group by nome,posicao prder by nome
mas quando executo dáo seguinte erro...qryposicao field count ot found..
Andre Murilo
Curtidas 0
Respostas
Emerson Nascimento
21/01/2012
publique a estrutura das tabelas envolvidas
GOSTEI 0
Joel Rodrigues
21/01/2012
Considerando que sua tabela tem os campos NOME e POSICAO.
Você quer saber quantas vezes cada vendedor (NOME) ficou em certa POSICAO.
Nesse caso, você pode usar a seguinte consulta SQL:
Tente isso. Qualquer coisa, é só falar.
Você quer saber quantas vezes cada vendedor (NOME) ficou em certa POSICAO.
Nesse caso, você pode usar a seguinte consulta SQL:
SELECT NOME, POSICAO, COUNT(*) AS QUANTIDAD FROM CLASSIFICACAO WHERE NOME = :nome
Tente isso. Qualquer coisa, é só falar.
GOSTEI 0
Joel Rodrigues
21/01/2012
Desculpe, faltou um GROUP BY. Fica assim:
SELECT NOME, POSICAO, COUNT(*) AS QUANTIDAD FROM CLASSIFICACAO GROUP BY POSICAO, NOME WHERE NOME = :nome
GOSTEI 0
Joel Rodrigues
21/01/2012
Desculpe, faltou um GROUP BY. Fica assim:
SELECT NOME, POSICAO, COUNT(*) AS QUANTIDAD FROM CLASSIFICACAO GROUP BY POSICAO, NOME WHERE NOME = :nome
GOSTEI 0