Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

victorpavia

consulta

Recommended Posts

Pessoal,

 

Preciso achar o total dos produtos nessa consulta (coluna vtotalproduto). Nesse caso, eu essa coluna calcula o total por produto. Preciso dar um sum() e achar o total da nota. Como fazer isso?

 

 

select distinct codfilial,NUMEROMOV,idmov,nseqitmmov,dataemissao,DATALANCAMENTO,CODTMV,CODIGOREDUZIDO,
DESCRICAO,NUMEROCCF,
SITTRIBUTARIAPIS,SITTRIBUTARIACOFINS,vtotalvendaitem as vtotalproduto
,basePIS,baseCofins,
CODNAT
from (
select distinct tm.codfilial,tm.NUMEROMOV,tm.IDMOV,ttm.nseqitmmov,tm.dataemissao,tm.DATALANCAMENTO,tm.CODTMV,tp.CODIGOREDUZIDO,
tp.DESCRICAO,tp.NUMEROCCF
,(ttm.QUANTIDADE * ttm.PRECOUNITARIO)
- case when ttm.VALORDESC is null then 0 else ttm.VALORDESC end
+ case when ttm.VALORdesp is null then 0 else ttm.VALORDESP end
as vtotalvendaitem
,tm.VALORDESP
,(select BASEDECALCULO from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = 'pis') as basePIS
,(select SITTRIBUTARIA from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = 'pis') as sittributariaPIS
,(select valor from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = 'pis') as valorPis
,(select BASEDECALCULO from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = 'cofins') as baseCofins
,(select SITTRIBUTARIA from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = 'cofins') as sittributariaCOFINS
,(select VALOR from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = 'cofins') as valorCofins
,d.CODNAT,d.DESCRICAOCOMPLETA
from TMOV tm
inner join TITMMOV ttm on (ttm.IDMOV = tm.IDMOV)
inner join TPRD tp on (tp.IDPRD = ttm.IDPRD)
inner join TPRDFISCAL tpf on (tpf.IDPRD = tp.idprd)
inner join DNATUREZA d on (d.IDNAT = ttm.IDNAT)
left join TTRBMOV ttb on (ttb.IDMOV = ttm.IDMOV and ttb.NSEQITMMOV = ttm.NSEQITMMOV)
where
tm.DATALANCAMENTO >= '01/01/2013'
and tm.datalancamento <= '31/01/2013'
and tm.STATUS <> 'C' and (d.CODnat like '5%' or d.codnat like '6%')
and tm.NUMEROMOV = '000023915'
)T1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salva o resultado disso ai em uma temporária e de o SUM na temporária.

 

Como que esta a performance disso? O_o

Compartilhar este post


Link para o post
Compartilhar em outros sites

a performance esta ruim. Ocupa 100% de cpu no servidor quando disparo essa consulta.



eu gerei uma temporária só com os totais das notas e liguei nessa consulta. Deu certo mas ta pesado. Tenho que otimizar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.