ajuda com update
16/01/2013
0
Tenho esta query que me retorna 281 registros.
Abaixo faço um update de acordo com essa consulta.
Ao fazer o update só atualiza 238. Se alguém tiver alguma idéia... eu agradeço muito.
select tm.numeromov,tm.dataemissao,tm.IDMOV,ttm.NSEQITMMOV,tp.CODIGOREDUZIDO,tp.DESCRICAO,ttmf.NATREC,tpc.natrec as natrecprod,tpf.SITUACAOMERCADORIA,
tpf.SITTRIBUTARIACOFINS,tpf.SITTRIBUTARIAPIS,tm.CODTMV
from TMOV tm
inner join TITMMOV ttm on (tm.IDMOV = ttm.IDMOV)
inner join tprd tp on (tp.idprd = ttm.idprd)
left join TPRDFISCAL tpf on (tp.IDPRD = tpf.IDPRD)
left join TITMMOVFISCAL ttmf on (ttmf.IDMOV = ttm.IDMOV and ttmf.NSEQITMMOV = ttm.NSEQITMMOV)
left join TPRDCOMPL tpc on (tpc.IDPRD = tp.IDPRD)
where tm.codtmv like ('2.2%') and tm.codtmv not in('2.2.02','2.2.25')
and tpf.SITTRIBUTARIACOFINS in ('04','06','09')
and ((ttmf.natrec is null)or(ttmf.natrec = ''))
and tm.DATAEMISSAO >= '01/12/2012'
and tm.DATAEMISSAO <= '16/01/2013' and tpc.NATREC is not null
order by TM.NUMEROMOV
update ttmf set ttmf.NATREC = tpc.NATREC
from TMOV tm
inner join TITMMOV ttm on (tm.IDMOV = ttm.IDMOV)
inner join tprd tp on (tp.idprd = ttm.idprd)
left join TPRDFISCAL tpf on (tp.IDPRD = tpf.IDPRD)
left join TITMMOVFISCAL ttmf on (ttmf.IDMOV = ttm.IDMOV and ttmf.NSEQITMMOV = ttm.NSEQITMMOV)
left join TPRDCOMPL tpc on (tpc.IDPRD = tp.IDPRD)
where tm.codtmv like '2.2%' and tm.codtmv not in ('2.2.02','2.2.25')
and tpf.SITTRIBUTARIACOFINS in ('04','06','09')
and ((ttmf.natrec is null)or(ttmf.natrec = ''))
and tm.DATAEMISSAO >= '01/12/2012'
and tm.DATAEMISSAO <= '16/01/2013'
Victor Pavia
Posts
16/01/2013
Alex Lekao
Cara eu não entendi seu script honestamente... mas dando uma olhada entre o select e o update a única coisa que vi que tinha em um e não tinha no outro era isto "and tpc.NATREC is not null" no update.
naso sei se sera isto.
eu normalmente não uso inner join, somente left join, naso sei se isto ajudaria montar diferente poderia influenciar.
espero que ajude.
Abraco.
Alex - Lekao
16/01/2013
Bruno Leandro
select tm.numeromov,tm.dataemissao,tm.IDMOV,ttm.NSEQITMMOV,tp.CODIGOREDUZIDO,tp.DESCRICAO,ttmf.NATREC,tpc.natrec as natrecprod,tpf.SITUACAOMERCADORIA,
tpf.SITTRIBUTARIACOFINS,tpf.SITTRIBUTARIAPIS,tm.CODTMV
from TMOV tm
inner join TITMMOV ttm on (tm.IDMOV = ttm.IDMOV)
inner join tprd tp on (tp.idprd = ttm.idprd)
left join TPRDFISCAL tpf on (tp.IDPRD = tpf.IDPRD)
inner join TITMMOVFISCAL ttmf on (ttmf.IDMOV = ttm.IDMOV and ttmf.NSEQITMMOV = ttm.NSEQITMMOV)
left join TPRDCOMPL tpc on (tpc.IDPRD = tp.IDPRD)
where tm.codtmv like ('2.2%') and tm.codtmv not in('2.2.02','2.2.25')
and tpf.SITTRIBUTARIACOFINS in ('04','06','09')
and ((ttmf.natrec is null)or(ttmf.natrec = ''))
and tm.DATAEMISSAO >= '01/12/2012'
and tm.DATAEMISSAO <= '16/01/2013' and tpc.NATREC is not null
order by TM.NUMEROMOV
17/01/2013
Victor Pavia
Valeu mesmo...
30/07/2013
José
Clique aqui para fazer login e interagir na Comunidade :)