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


Registrado: Domingo, 30 de Janeiro de 2005 Mensagens: 531
|
Enviada: Ter Nov 20, 2007 9:55 am Assunto: Problema com o group by |
|
|
estou com problemas para agrupar os dados por ICM:
Código: |
SQL.Text := 'SELECT ' +
'NFP.TALAO, NFP.NRONF, NFP.LINHA, NFP.CODPRODUTO, ' +
'NFP.NOME, NFP.QUANT, NFP.VALOR, NFP.VPDESC, NFP.VDESC, ' +
'NFP.PDESC, NFP.BONUS, NFP.ST, NFP.ICM, NFP.ICMRED, ' +
'NFP.ICMISE, NFP.ICMSUB, ' +
'(NFP.QUANT * NFP.VALOR) as cqTotal ' +
'FROM NFSAIDAP NFP ' +
'LEFT OUTER JOIN NFSAIDAC NFC ON (NFC.TALAO = NFP.TALAO) ' +
'AND (NFC.NRONF = NFP.NRONF) ' +
'LEFT OUTER JOIN FICHASCP FCP ON (FCP.CODCP = NFC.CP) ' +
'LEFT OUTER JOIN USUARIOS U ON (U.CODUSUARIO = NFC.VENDEDOR) ' +
'WHERE (NFP.Empresa = :Empresa) ' +
'AND (NFC.DTEMIS >= :DTINI) ' +
'AND (NFC.DTEMIS <= :DTFIN) ' +
'AND (NFC.TALAO = :TALAO) ' +
'AND (NFC.CFOP = :CFOP) ' +
'GROUP BY NFP.TALAO, NFP.NRONF, NFP.CODPRODUTO, NFP.ICM ' +
'ORDER BY NFC.DTEMIS, NFP.CODPRODUTO ';
|
|
|
Voltar ao Topo |
|
 |
gustavocco Administrador

Registrado: Sexta-Feira, 6 de Fevereiro de 2004 Mensagens: 4253 Localização: Chapecó - SC
|
Enviada: Ter Nov 20, 2007 11:23 am Assunto: |
|
|
Olá CtrlRS, nao analisei a fundo seu sql, mas pelo q notei a grosso modo, vc tem vários campos q nao sao expressao no seu select, e todos estes campos deve aparecer no group by...
Todos estes campos devem estar no group by... não só àqueles q vc colocou:
'NFP.TALAO, NFP.NRONF, NFP.LINHA, NFP.CODPRODUTO, ' +
'NFP.NOME, NFP.QUANT, NFP.VALOR, NFP.VPDESC, NFP.VDESC, ' +
'NFP.PDESC, NFP.BONUS, NFP.ST, NFP.ICM, NFP.ICMRED, ' +
'NFP.ICMISE, NFP.ICMSUB, '
tenta e qqr coisa posta novamente.
flw. _________________ Top System - www.topsystem.com.br |
|
Voltar ao Topo |
|
 |
CtrlRs Profissional


Registrado: Domingo, 30 de Janeiro de 2005 Mensagens: 531
|
Enviada: Ter Nov 20, 2007 11:29 am Assunto: |
|
|
uhmmm...
expressao?? oque queres dizer com expressao?
no select está os campos que quero exibir no grid e no group by está os campos que desejo agrupar como organizar?
se eu colocar...
'NFP.TALAO, NFP.NRONF, NFP.LINHA, NFP.CODPRODUTO, ' +
'NFP.NOME, NFP.QUANT, NFP.VALOR, NFP.VPDESC, NFP.VDESC, ' +
'NFP.PDESC, NFP.BONUS, NFP.ST, NFP.ICM, NFP.ICMRED, ' +
'NFP.ICMISE, NFP.ICMSUB, '
...o meu group by não terá sentido: inicialmente preciso agrupar por ICM
muito obrigado pela atenção. |
|
Voltar ao Topo |
|
 |
CtrlRs Profissional


Registrado: Domingo, 30 de Janeiro de 2005 Mensagens: 531
|
Enviada: Ter Nov 20, 2007 11:40 am Assunto: |
|
|
exemplo:
Código: |
SQL.Text := 'SELECT ' +
'NFP.TALAO, NFP.NRONF, NFP.CODPRODUTO, NFP.ICM, ' +
'(NFP.QUANT * NFP.VALOR) as cqTotal ' + ...
'AND (NFC.TALAO = :TALAO) ' +
'AND (NFC.CFOP = :CFOP) ' +
|
...neste caso fui obrigado a colocar o total(cqTotal) no group by tambem:
Código: |
'GROUP BY 1,2,3,4,5 ORDER BY 1,2,3,4,5 ';
|
... a pergunta é: como declarar no select (para exibir no grid) e não ter que agrupar? |
|
Voltar ao Topo |
|
 |
CtrlRs Profissional


Registrado: Domingo, 30 de Janeiro de 2005 Mensagens: 531
|
Enviada: Sex Nov 23, 2007 9:37 am Assunto: |
|
|
"sobe" |
|
Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Sex Nov 23, 2007 2:10 pm Assunto: |
|
|
Posso não ter visto, mas cadê a função agregadora (count, sum, max, min,avg)??? _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|