 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rique_neves Mestre


Registrado: Sexta-Feira, 17 de Fevereiro de 2012 Mensagens: 873
|
Enviada: Qua Jan 04, 2017 9:32 pm Assunto: Erro instrução SQL |
|
|
Galera não estou conseguindo sair daqui, podem me ajudar,
Não estou conseguindo fazer o GROUP BY
Código: | IBQPagRec.Close;
IBQPagRec.SQL.Clear;
IBQPagRec.SQL.Add('Select CODIGO_ID,EMISSAO,VENCIMENTO,PAGAMENTO,CLIFOR,TIPOCONTA,VALOR,DESCONTO,JUROS,');
IBQPagRec.SQL.Add('SUBCONTA,CONTA,HISTORICO,DOCUMENTO,COMPROVANTE,MULTA,JUROSDIA,NFE,ENTRADA,TOTAL,STATUS,');
IBQPagRec.SQL.Add('DIAS,CARTORIO,CODFAT,BANCO,AGENCIA,TITULO,CARTEIRA,ESPECIE,TRANSACAO,PPROTECAO,CHEQUE,');
IBQPagRec.SQL.Add('DTCHEQUE,AGCHEQUE,CODAGCHEQUE,NUMBANCOCHEQUE,EMITENTECHEQUE,CCCHEQUE,VALORCHEQUE,VALORDOCUMENTO');
IBQPagRec.SQL.Add('PARCELA,VENDA,DV,CARNE,FUNCQUITACAO, sum(TOTAL)as TotalMovimento');
IBQPagRec.SQL.Add(' from pagarreceber LEFT JOIN pagarreceber Where status =:p1 and vencimento BETWEEN :p2 and :p3');
IBQPagRec.SQL.Add('and clifor like :p4 GROUP BY pagarreceber order by vencimento');
IBQPagRec.ParamByName('p1').AsString :='A';
IBQPagRec.ParamByName('p2').AsDateTime := vencIni.Date;
IBQPagRec.ParamByName('p3').AsDateTime := vencFim.Date;
IBQPagRec.ParamByName('p4').AsInteger := DBLCliente.KeyValue;
IBQPagRec.Open; |
Citação: | Quero trazer todos os campos da tabela pagar e receber , somar o campo TOTAL e passar por parametros a informacao a ser traga |
_________________ Atrás de todo problema a uma oportunidade brilhantemente disfarçada!
Compartilhar Imagens .: http://s124.photobucket.com/ |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 04, 2017 10:53 pm Assunto: |
|
|
Boa noite,
Qual banco de dados (e versão) você está utilizando?
Você precisa, a princípio, colocar todos os campos que estão no Select e não estão dentro de funções de agregação (no seu caso somente o campo Total está dentro de uma) dentro da clausula Group By.
Apesar que talvez você não obtenha o total esperado com essa query, mas vale o teste.
obs: não entendi a finalidade do Left Join, talvez ele não seja necessário; da forma como está me parece que ele está incompleto, sem o On e as condições para a ligação entre as tabelas
Espero que ajude
Editado pela última vez por imex em Seg Dez 04, 2023 11:46 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
douglas_fc Profissional


Registrado: Quarta-Feira, 26 de Mai de 2010 Mensagens: 672
|
Enviada: Seg Jan 09, 2017 9:47 am Assunto: |
|
|
Bom dia,
Faltou tb um alias para as tabelas ja que na consulta envolve mais de uma tabela, e ainda se quer trazer todos os campos por que não usa o (*) ao invés de informar todos os campos ?
sobre o Group By, se vc quer somar um campo apenas, os demais campos tem q vir no group By vc informou apenas um campo.
Veja tb que esse select não deve rodar nem no seu editor de código reveja todo ele antes de trazer para a aplicação. _________________ O conhecimento só tem valor quando compartilhado!
Douglas Sousa |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|