Select somar e agrupar
Pessoal, estou somando as contas pagas em um determinado periodo e agrupando por banco onde foi realizado o pagamento.
Então montei essa estrutura no IbExpert
Estou com uma dificuldade para fazer esse codigo rodar no delphi.
Da erro no SUM
Então montei essa estrutura no IbExpert
SELECT V.COD_BANCO, B.NOME as NOMEBANCO, SUM(V.total) AS TOTPAGO FROM TBVENCIDAS V INNER JOIN tbbancos B ON V.COD_BANCO = B.COD_BANCO WHERE V.DT_PAGAMENTO between '28.05.2024' and '29.05.2024' GROUP BY V.COD_BANCO, B.NOME
Estou com uma dificuldade para fazer esse codigo rodar no delphi.
Da erro no SUM
qrAux.Close; qrAux.SQL. Clear; qrAux.SQL.Add('SELECT V.COD_BANCO, B.NOME as NOMEBANCO'); qrAux.SQL.Add('SUM(V.total) AS TOTPAGO'); qrAux.SQL.Add('FROM TBVENCIDAS V'); qrAux.SQL.Add('INNER JOIN tbbancos B'); qrAux.SQL.Add('ON V.COD_BANCO = B.COD_BANCO'); qrAux.SQL.Add('WHERE V.DT_PAGAMENTO = :pData''); qrAux.SQL.Add('GROUP BY V.COD_BANCO, B.NOME'); qrAux.ParamByName('pData').asDate:= dtp.Date; qrAux.Prepare; qrAux.Open;
Renan
Curtidas 0
Respostas
Arthur Heinrich
29/05/2024
Você suprimiu a vírgula que separa o nome do banco da soma e gerou um erro de sintaxe.
qrAux.SQL.Add('SELECT V.COD_BANCO, B.NOME as NOMEBANCO');
qrAux.SQL.Add('SUM(V.total) AS TOTPAGO');
Deveria ser:
qrAux.SQL.Add('SELECT V.COD_BANCO, B.NOME as NOMEBANCO,');
qrAux.SQL.Add('SUM(V.total) AS TOTPAGO');
qrAux.SQL.Add('SELECT V.COD_BANCO, B.NOME as NOMEBANCO');
qrAux.SQL.Add('SUM(V.total) AS TOTPAGO');
Deveria ser:
qrAux.SQL.Add('SELECT V.COD_BANCO, B.NOME as NOMEBANCO,');
qrAux.SQL.Add('SUM(V.total) AS TOTPAGO');
GOSTEI 0
Renan
29/05/2024
Obrigado, funcionou !
GOSTEI 0