Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera estou com duvidas no replace,
replace(ma.descricaomarcamat,'null','Peça Original de Fabrica' )
nao retorna nada no campo desejado! como poderia proceder?
entao usei o seguinte
nvl(ma.descricaomarcamat,'Peça Original de Fabrica' )
mas mesmo assim ficou null nao trocou no trazer a informação
lembrando que esta informação vem de um SUBSELECT
usei outra opção, mas me deu o erro: valores demais
DECODE(ma.descricaomarcamat,null,'Peça Original de Fabrica',ma.descricaomarcamat)
Lembre que branco é diferente de null
Use o TRIM
nvl(trim(ma.descricaomarcamat),'Peça Original de Fabrica' )
continua aparecendo null no campo!
vou postar o subselect aqui
select
nvl(trim(ma.descricaomarcamat),'Peça Original de Fabrica' ) || ' / ' || max(ar.DATARQ) || ' / ' || max(ai.NUMERORQ)
from
est_requisicao ar,
est_itensrequisicao ai,
est_marcamaterial ma
where
ai.codigomarcamat = ma.codigomarcamat and
ai.numerorq not in (
select
ic.nrrqcan
from
est_itensrequisicaocan ic
where
ic.seqitreq = ai.seqitreq and
ic.codigomarcamat = ai.codigomarcamat and
ic.codigolocal = ai.codigolocal and
ic.codigomatint = ai.codigomatint and
ic.nrrqcan = ar.numerorq
) and
ai.codposmat = i.codposmat and
ai.codigomatint = i.codigomatint and
ar.numerorq = ai.numerorq and
ar.codigoveic = r.codigoveic and
ar.datarq > '01-jan-2007' and
ar.datarq < r.datarq and
ROWNUM = 1
group by
ma.descricaomarcamat
) ultimaar.DATARQ) e/ou ai.NUMERORQ
devem estar nulas
rode
select
*
from
est_requisicao ar,
est_itensrequisicao ai,
est_marcamaterial ma
where
ai.codigomarcamat = ma.codigomarcamat and
ai.numerorq not in (
select
ic.nrrqcan
from
est_itensrequisicaocan ic
where
ic.seqitreq = ai.seqitreq and
ic.codigomarcamat = ai.codigomarcamat and
ic.codigolocal = ai.codigolocal and
ic.codigomatint = ai.codigomatint and
ic.nrrqcan = ar.numerorq
) and
ai.codposmat = i.codposmat and
ai.codigomatint = i.codigomatint and
ar.numerorq = ai.numerorq and
ar.codigoveic = r.codigoveic and
ar.datarq > '01-jan-2007' and
ar.datarq < r.datarq and
ROWNUM = 1
) ultima
e veja o que retornaentão eles estão nulas sim em alguns casos... se eu rodo todo meu scrypt certinho ele retorna 10 linhas com as marcas das peças normal e 10 com a marca nula pq não havia requisição anterior
ai que esta essas que nao haviam eu quero que me retorne original do veiculo
então eles estão nulas sim em alguns casos...
1) Você pode fazer
select
nvl(trim(ma.descricaomarcamat),'Peça Original de Fabrica' ) || ' / ' ||
nv(max(ar.DATARQ),' ') || ' / ' ||
nv(max(ai.NUMERORQ),' ')
from
ai que esta essas que nao haviam eu quero que me retorne original do veiculo
Nestes casos faça um outer join
cara, vo deixar o relatorio sem esta ação! ja tentei de tudo e nao funciona
usei ate case e nada
Ok
obrigado pela ajuda! me ensinou muita coisa
Não funciona assim , replace troca uma string por outra, para tratar nulos use o comando NVL.