Problemas em montar a SQL

Delphi

05/01/2009

Boa noite...

Estou tentando montar uma SQL...
Tenho o Banco do Access... Conectado ao ADOQuery e um DbGrid
Neste banco tem a tabela(Apostas)com os campos: ´Jogador´,´Esporte´,´ Pontos´
Precisso apresentar no DbGrid a coluna Jogador e Pontos mas que o jogador não apareça varias vezes e em pontos apareçam o total de pontos do jogador

Tentei: e realmente não repetiu o jogador mas não apresentou as outras colunas.....

Código: Selecionar tudo
(´SELECT DISTINCT(jogador) FROM APOSTAS WHERE SEXO =´+quotedstr(Sexo));


Destas forma os registros foram repetidos...

Código: Selecionar tudo
(´SELECT DISTINCT(jogador),Esporte, Pontos FROM APOSTAS WHERE SEXO =´+quotedstr(Sexo));


Ah..ele tb apresenta somente o sexo informado na variavel ´Sexo´..
Algem tem uma idéa para montar esta SQL?

Grato...


Freed

Freed

Curtidas 0

Respostas

Webjoel

Webjoel

05/01/2009

olá,

faça o seguinte:

SELECT

JOGADOR, 
ESPORTE, 
SEXO, 
SUM(PONTOS) AS PONTOS 

FROM APOSTAS

WHERE SEXO = :PARSEXO

GROUP BY 1,2,3


No caso você atribui ao parâmetro ´PARSEXO´ a sua variável e a mesma vai aparecer também nos resultados.

Boa sorte!


GOSTEI 0
Facc

Facc

05/01/2009

vc quer somar os pontos?

(´SELECT Jogador, Esporte, Sum(Pontos) FROM APOSTAS WHERE SEXO =´+quotedstr(Sexo)) + ´ group by jogador, esportes´;



GOSTEI 0
Freed

Freed

05/01/2009

bOM DIA ...

A tabela é do Access..

Imaginem que os registros do banco sejam:
Jogador | Esporte|Pontos ------------------------------------------- Roberto | Fotbool | 10 ------------------------------------------- Roberto | Baskete | 20 ------------------------------------------- Tiago | Fotbool | 25 ------------------------------------------- Tiago | tennis | 10 ------------------------------------------ Roberto | tennis | 30


Quero que retorne no DbGrid os Nomes dos jogadores sem repeti-los caso tenha varios registros de um jogador e na coluna pontos retorne o total(soma) dos pontos
EX:
Roberto | 60 ----------------------- Tiago | 35 -----------------------


Com o código sugeridos:
(´SELECT Jogador, Esporte, Sum(Pontos) FROM APOSTAS WHERE SEXO =´+quotedstr(Sexo)) + ´ group by jogador, esportes´; 

Esta retornando todos registros....
Roberto | Fotbool | 10 ------------------------------------------- Roberto | Baskete | 20 ------------------------------------------- Tiago | Fotbool | 25 ------------------------------------------- Tiago | tennis | 10 ------------------------------------------ Roberto | tennis | 30


Lembrando... meu banco é do access....


Grato


GOSTEI 0
Facc

Facc

05/01/2009

Experimente tirar o campo esporte do sql


GOSTEI 0
Freed

Freed

05/01/2009

Ai da certo Facc.

Mas se eu tiver a necessidade de mostrar a coluna esporte tb?


Grato..


GOSTEI 0
POSTAR