• 0
Sign in to follow this  
rmrote

Soma Valores

Question

Olá sou novo aqui e no sql, estou fazendo uma consulta onde agora quero salvar todos os valores com o idPiloto x, na consulta consegui agrupar todos os 1,2,3 ... assim por diante e os dados que quero buscar de 3 tabelas, mas não consegui somar todos id..=1, todos id = 2... assim por adiante... tem tei somar mas não tive resultado esperado.

 

Abaixo select que usei e o resultado:

SQL:

select tblCorrida.DataCorrida, tblPontos.Posicao,
    tblPiloto.Nome, tblPiloto.Id_Piloto, tblPontos.Pontos,

    SUM(tblPontos.Pontos) as valort

from tblPontos, tblCorrida, tblPiloto

where tblPontos.Posicao = tblCorrida.Posicao
    and tblPiloto.Id_Piloto = tblCorrida.Id_Piloto

    GROUP BY tblPiloto.Id_Piloto,
    tblCorrida.DataCorrida, tblPontos.Posicao, tblPiloto.Nome, tblPontos.Pontos

Resultado da SELECT:

DataCorrida    Posicao    Nome    Id_Piloto    Pontos    valort
2017-09-24    10    BRUNO TAZZA                                                                                             1    20    20
24/09/2017    1    BRUNO TAZZA                                                                                             1    35    35
25/06/2017    1    BRUNO TAZZA                                                                                             1    35    35
27/08/2017    1    BRUNO TAZZA                                                                                             1    35    35
29/10/2017    2    BRUNO TAZZA                                                                                             1    33    33
30/07/2017    2    BRUNO TAZZA                                                                                             1    33    33
25/06/2017    2    DANIEL DE CARVALHO                                                                                      2    33    33
24/09/2017    5    ADRIANO DA SILVA                                                                                        3    27    27
25/06/2017    3    ADRIANO DA SILVA                                                                                        3    31    31
27/08/2017    5    ADRIANO DA SILVA                                                                                        3    27    27
29/10/2017    6    ADRIANO DA SILVA                                                                                        3    25    25
30/07/2017    8    ADRIANO DA SILVA                                                                                        3    22    22
24/09/2017    2    RODRIGO MONTEIRO                                                                                        4    33    33
25/06/2017    4    RODRIGO MONTEIRO                                                                                        4    29    29
27/08/2017    8    RODRIGO MONTEIRO                                                                                        4    22    22
29/10/2017    7    RODRIGO MONTEIRO                                                                                        4    23    23
30/07/2017    6    RODRIGO MONTEIRO                                                                                        4    25    25
24/09/2017    4    CLEIDIANO DA SILVA                                                                                      5    29    29
25/06/2017    5    CLEIDIANO DA SILVA                                                                                      5    27    27
30/07/2017    4    CLEIDIANO DA SILVA                                                                                      5    29    29
25/06/2017    6    MAURO DAVIS                                                                                             6    25    25
24/09/2017    7    FABIANO DA SILVA                                                                                        7    23    23
25/06/2017    7    FABIANO DA SILVA                                                                                        7    23    23
27/08/2017    10    FABIANO DA SILVA                                                                                        7    20    20
29/10/2017    10    FABIANO DA SILVA                                                                                        7    20    20
30/07/2017    10    FABIANO DA SILVA                                                                                        7    20    20
25/06/2017    8    EDNEY FIGUEIREDO                                                                                        8    22    22
27/08/2017    7    EDNEY FIGUEIREDO                                                                                        8    23    23
29/10/2017    3    EDNEY FIGUEIREDO                                                                                        8    31    31
30/07/2017    7    EDNEY FIGUEIREDO                                                                                        8    23    23
24/09/2017    6    ELISANDRO CARDOSO                                                                                       9    25    25
25/06/2017    9    ELISANDRO CARDOSO                                                                                       9    21    21
27/08/2017    4    ELISANDRO CARDOSO                                                                                       9    29    29
29/10/2017    4    ELISANDRO CARDOSO                                                                                       9    29    29
30/07/2017    1    ELISANDRO CARDOSO                                                                                       9    35    35
25/06/2017    10    MARCOS DOS SANTOS                                                                                       10    20    20
29/10/2017    8    MARCOS DOS SANTOS                                                                                       10    22    22
25/06/2017    11    GERSON SCHOEN                                                                                           11    19    19
25/06/2017    12    PEDRO SCHOEN                                                                                            12    18    18
25/06/2017    13    MARINA STERNADT                                                                                         13    17    17
27/08/2017    2    ROBERSON LEAL                                                                                           14    33    33
30/07/2017    3    ROBERSON LEAL                                                                                           14    31    31
30/07/2017    5    JONATHA DE LIMA                                                                                         15    27    27
30/07/2017    9    ALEXANDRO DE LIMA                                                                                       16    21    21
24/09/2017    8    MARCONDES NOGUEIRA                                                                                      17    22    22
27/08/2017    11    MARCONDES NOGUEIRA                                                                                      17    19    19
30/07/2017    11    MARCONDES NOGUEIRA                                                                                      17    19    19
30/07/2017    12    RAFAEL PREZZI                                                                                           18    18    18
27/08/2017    3    REINALDO RABELO                                                                                         19    31    31
29/10/2017    1    REINALDO RABELO                                                                                         19    35    35
27/08/2017    6    CRISTIANO SANT ANNA                                                                                     20    25    25
29/10/2017    5    CRISTIANO SANT ANNA                                                                                     20    27    27
24/09/2017    3    JUCELILTO FERREIRA                                                                                      21    31    31
27/08/2017    9    JUCELILTO FERREIRA                                                                                      21    21    21
27/08/2017    12    WILLIAN RODRIGUES                                                                                       22    18    18
24/09/2017    11    LUIS DE SOUZA                                                                                           23    19    19
27/08/2017    13    LUIS DE SOUZA                                                                                           23    17    17
24/09/2017    9    VINICIUS WENDLER                                                                                        24    21    21
29/10/2017    9    ERIC KRUGER                                                                                             26    21    21
29/10/2017    11    ANTONIO BRACCINI                                                                                        27    19    19
29/10/2017    12    ALFREDO BROCHIER                                                                                        28    18    18
29/10/2017    13    MARIA BROCHIER                                                                                          29    17    17
29/10/2017    14    EDUARDO MACHADO                                                                                         30    16    16

 

Se alguém puder me ensinar agradeço...

 

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

tentei mas deu erro:

Mensagem 8120, Nível 16, Estado 1, Linha 1
A coluna 'tblCorrida.DataCorrida' é inválida na lista de seleção porque não está contida em uma função de agregação nem na cláusula GROUP BY.

 

Share this post


Link to post
Share on other sites
  • 0

Veja... fiz um pequeno exemplo .... na tabela eu coloquei apenas os campos NOME, VALOR, DATA

na tabela:
 

NOME  - VALOR - DATA 
TESTE  - 50 - 2017-03-01
TESTE1 - 60 - 2017-03-01
TESTE2 - 70 - 2017-03-01
TESTE  - 25 - 2017-03-20
TESTE1 - 15 - 2017-03-21
TESTE2 -  3 - 2017-03-22

na select :

SELECT NOME, VALOR, DATA, SUM(VALOR) AS TOT FROM ARQUIVO1

GROUP BY NOME

resultado:
 

NOME -  VALOR -  DATA  -  TOT
TESTE  - 50 - 2017-03-01 - 75
TESTE1 - 60 - 2017-03-02 - 75
TESTE2 - 70 - 2017-03-03 - 73

OBS:  O comando Group by vai agrupar pelo campo NOME  e somar o campo VALOR e jogar o resultado no campo virtual TOT

mas veja que os valores dos campos VALOR e DATA serão as do registro origem

abraço

 

 

Share this post


Link to post
Share on other sites
  • 0

Sim parece que no seu exemplo funcionou bem... os dados que mostro a baixo são extraídos de 3 tabelas e não soma... Quero somar todos os pontos de cada usuário...

  •  

Olá sou novo aqui e no sql, estou fazendo uma consulta onde agora quero salvar todos os valores com o idPiloto x, na consulta consegui agrupar todos os 1,2,3 ... assim por diante e os dados que quero buscar de 3 tabelas, mas não consegui somar todos id..=1, todos id = 2... assim por adiante... tem tei somar mas não tive resultado esperado.

 

Abaixo select que usei e o resultado:

SQL:

select tblCorrida.DataCorrida, tblPontos.Posicao,
    tblPiloto.Nome, tblPiloto.Id_Piloto, tblPontos.Pontos,

    SUM(tblPontos.Pontos) as valort

from tblPontos, tblCorrida, tblPiloto

where tblPontos.Posicao = tblCorrida.Posicao
    and tblPiloto.Id_Piloto = tblCorrida.Id_Piloto

    GROUP BY tblPiloto.Id_Piloto,
    tblCorrida.DataCorrida, tblPontos.Posicao, tblPiloto.Nome, tblPontos.Pontos

Resultado da SELECT:

DataCorrida    Posicao    Nome    Id_Piloto    Pontos    valort
2017-09-24    10  BRUNO TAZZA                                                                                             1    20    20
24/09/2017    1    BRUNO TAZZA                                                                                             1    35    35
25/06/2017    1    BRUNO TAZZA                                                                                             1    35    35
27/08/2017    1    BRUNO TAZZA                                                                                             1    35    35
29/10/2017    2    BRUNO TAZZA                                                                                             1    33    33
30/07/2017    2    BRUNO TAZZA                                                                                             1    33    33
25/06/2017    2    DANIEL DE CARVALHO                                                                                      2    33    33
24/09/2017    5    ADRIANO DA SILVA                                                                                        3    27    27
25/06/2017    3    ADRIANO DA SILVA                                                                                        3    31    31
27/08/2017    5    ADRIANO DA SILVA                                                                                        3    27    27
29/10/2017    6    ADRIANO DA SILVA                                                                                        3    25    25
30/07/2017    8    ADRIANO DA SILVA                                                                                        3    22    22

Tenho 3 tabelas 1 com os dados de pilotos outra com dados dos pontos e outra com dados da corrida

então consegui listar por id de pilotos mas não consegui somar....

Os dados vem de 3 tabelas

tblPiloto

tblPontos

tblCorridas

Quero somar os pontos de cada piloto

Os dados vem de 3 tabelas

tblPiloto

tblPontos

tblCorridas

Quero somar os pontos de cada piloto

Share this post


Link to post
Share on other sites
  • 0

voce deve fazer referencia entre as 3 tabelas por um campo comum entre elas

na instrução select terá um inner join entre as tabelas e depois bastará escolher os campos que voce quer mostrar ou calcular

uma sugestão é voce aprender a usar o IBConsole  .. nele voce consegue fazer referencia entre as tabelas e executar qualquer instrução Select nele, para poder ver o resultado fora do programa

https://www.google.com.br/search?ei=ilQGWtCqEYGVwgST6r_wDA&q=ibconsole+tutorial&o que=ibconsole+tutorial&gs_l=psy-ab.3..0i22i30k1l2.20335.22724.0.27251.10.9.0.0.0.0.259.1200.0j3j3.6.0....0...1.1.64.psy-ab..4.6.1195...0i19k1j0i22i30i19k1j0i13i30k1.0.XUomda1wZgQ

outra sugestão é voce usar o SQL Builder  do BDE ( apesar de serem banco de dados diferentes não há muita diferena entre as instruções select )

a vantagem é que ele cria a instrução select completa, de acordo com as suas configurações

nesse caso as suas tabelas tem que ser Paradox ...  voce não precisa mudar o seu banco de dados....    apenas usará esse recurso para conseguir montar a sua instrução SQL para o Interbase ou Firebird

https://translate.google.com.br/translate?hl=pt-BR&sl=en&u=https://edn.embarcadero.com/article/25679&prev=search

ou ainda pode usar o MYSQL_Front, que usa tabelas do MYSQL, mas que tambem voce pode testar as instruções select e ver o resultado dela

https://www.google.com.br/search?source=hp&ei=n1YGWtvQAcapwgS9vbygAg&q=mysql+front+como+usar&o que=mysql-front&gs_l=psy-ab.1.7.0j0i30k1l9.986.7979.0.15007.11.11.0.0.0.0.136.1182.0j10.10.0....0...1.1.64.psy-ab..1.10.1178...0i131k1j0i10k1j0i10i30k1.0.ithOgs0KL2g

OBS: A um tempo atrás eu utilizava o Interbase, mas não gostei da performance e mudei para o MYSQL que se mostrou muito superior

bem, de qualquer forma, fica a dica de 3 possibilidades para voce 

abraço

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this