ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Somar e juntar mais de um registro

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
dbmaster
Novato
Novato


Registrado: Sábado, 2 de Novembro de 2013
Mensagens: 66

MensagemEnviada: Ter Dez 01, 2015 4:28 pm    Assunto: Somar e juntar mais de um registro Responder com Citação

Ola amigos estou tentando juntar em um so registro os seguintes dados:


TIPO CST CFOP ICMS_ALIQUOTA VL_BC_ICMS VL_ICMS
-----------------------------------------------------------------------
E 000 1202 17 206,16 35,04 0
E 000 1202 25 204,78 51,19 0
E 060 1401 0 0,00 0,00 0

nocaso eu quero somar e juntar oqdo o "CST" for igual no caso o "000"

ESTOU USANDO A SEGUNTE CONSULA

COM group By mais nao esta juntando qdo os registros sao iguais.


select
'E' AS TIPO,
ent.cst, ent.CFOP,
ent.ICMS_ALIQUOTA,
sum(ent.ICMS_BASE) as VL_BC_ICMS,
sum(ent.ICMS_VALOR) as VL_ICMS,
sum(ent.SUB_BASE) as VL_BC_ICMS_ST,
sum(ent.SUB_VALOR) as VL_ICMS_ST,
sum(ent.ICMS_REDUCAO) as VL_RED_BC,
sum(ent.IPI_VALOR) as VL_IPI
FROM ITENS_NOTA ent
WHERE (select DATA_EMISSAO from NOTA_CABECALHO where CODIGO = ent.CODNOTA) >= :DT_INI and
(select DATA_EMISSAO from NOTA_CABECALHO where CODIGO = ent.CODNOTA) <= :DT_FIM
and ent.CODNOTA = :CODIGO
group by TIPO, ent.cst, ent.CFOP, ent.ICMS_ALIQUOTA

desde ja agradeço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Dez 01, 2015 4:59 pm    Assunto: Responder com Citação

Boa tarde,

Como você gostaria que ficasse o resultado considerando os 3 registros que você postou? E a aliquota?

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imobiliarias-em-guarulhos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
dbmaster
Novato
Novato


Registrado: Sábado, 2 de Novembro de 2013
Mensagens: 66

MensagemEnviada: Ter Dez 01, 2015 6:13 pm    Assunto: Responder com Citação

NO CASO ERA PRA FICAR ASSIM, JUNTAR OS DOIS CST QUE NO CASO E "000"

E 000 1202 17 410,94
E 060 1401 0 0,00 0,00 0

NO CASO OS CSTs e CFOPs Q FOREM OS MESMO E PARA SOMAR E FICAR SO UM.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Dez 02, 2015 7:49 am    Assunto: Responder com Citação

Experimente remover o campo ent.ICMS_ALIQUOTA da sua query para ver se é obtido o resultado esperado.
Ou você também pode experimentar colocar esse campo dentro de uma função de agregação (ex: Min) para remove-lo do Group By.

Espero que ajude.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB