Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!
Como aplicar a regra abaixo em um select?
Regra Join
Quando o campo substr(x, 1,1) ='1'
montar a chave de pesquisa:
y = '8' AND y1 = 'L'||lpad( x1, 2))
Quando o campo substrt(x, 1,1) for igual ='A'
montar a chave de pesquisa:
y = '8' AND y1 = 'M'||lpad( x1, 2))
obrigado!Motta, primeiramente muito obrigado pelo retorno, porém eu já havia aplicado dessa forma e não retorna dados. O join esta correto, pois eu removo essa condição a query retorna registros normalmente.
Query original:
select typeinsjson(a.or_num_docto, json_arrayagg(json_object('documento' value a.or_num_docto
, 'nomeRequerido' value ACNANOME
, 'numeroProcesso' value ACNAPROC
, 'numeroVaraCivel' value ACNAVARA
, 'descricaoForo' value ACNAFORO
, 'uf' value ACNAUFED
, 'tipoAcaoCivel' value ACNATPAC
, 'dataOcorrencia' value ACNADTOC
, 'dataCancelamento' value ACNADTCN
, 'dataRegistro' value ACNADTRG
, 'valorCausa' value ACNAVALO
, 'nomeAutor' value ACNAAUTO
, 'doctoAutor' value ACNAADOC
, 'condicao' value ACNACOND
, 'dataRegistroB' value ACNADTRB
, 'controleAtualizacao' value ACNACATU
, 'descricaoAcao' value t.TABGDESC
, 'codigoMunicipio' value i.IBGECMUN
, 'codigoUF' value i.IBGECUFE)returning clob))
from as_acna a,
as_tabg t,
as_ibge i
where a.acnaforo = i.ibgenmun
and a.acnaufed = i.ibgemufe
and ( (substr(a.acnakdoc, 1,1) ='1' and (t.tabgktip = '19' AND t.tabgkcod = 'J'||lpad( a.acnatpac, 2)) )
OR (upper(substr(a.acnakdoc, 1,1)) ='A'and (t.tabgktip = '19' AND upper(t.tabgkcod) = 'F'||lpad(a.acnatpac, 2))) )
and a.acnatpac not in (9,10,11,20,30,31,32,33,34,35,37,75,76)
and exists (select *
from as_acna b
where a.or_num_docto = b.or_num_docto
and b.or_flg_sincronismo = 'N')
group by a.or_num_docto;
OBRIGADO!!!Só fazendo o "join" na mão ,
faça o select sem a tabela as_tabg e
faça select dela tentando localizar os valores
t.tabgkcod teria de ter valores como "J 1" se a.acnatpac for "1" por exemplo,
este "J" e "F" é física e jurídica , não ?
não teria uma forma melhor ? Este valor não está em outra tabelaselect sem a tabela as_tabg retorna os dados
Acredito q seja fisica e juridica, não conheço a origem, estou "simulando" a origem, criando massa de dados na mão para acelerar o desenvolvimento
procuro opções, esgotei aqui rsrsProblema Resolvido.
na concatenação, por algum motivo, estavam vindo espaços em branco, resolvido com TRIM();
Obrigado!
Where
(
(substr(x, 1,1) ='1'
and
(y = '8' AND y1 = 'L'||lpad( x1, 2)) )
OR
(substrt(x, 1,1) ='A'
and
(y = '8' AND y1 = 'M'||lpad( x1, 2)) )
)
Isto deve ficar lento ...