
Concatenacion de subquerys que contienen decode
Publicado por Josue Gomez (15 intervenciones) el 18/04/2015 20:01:16
Estimados tengo un problema de concatenacion tengo dos tablas la primera la utilizo normalmente pero a la segunda le hago decode, puedo concatenar hasta una subquery con decode pero no puedo mas de una me sale error: ORA-00923: FROM keyword not found where expected, que me faltara en la sintaxis, pongo un ejemplo
select uno.val_uno||'/'||uno.val_dos||'/'||(select decode(dos.val_uno,'valoruno',dos.campo_uno)from tabla_dos dos where uno.key=dos.key and dos.val_uno ='valoruno' )as valor_uno from tabla_uno uno where uno.val_uno ='buscarEsto';
esa query funciona perfecto:
val_uno/val_dos/valor_uno
pero si le añado otra subconsulta y quiero concatenar no me permite:
select uno.val_uno||'/'||uno.val_dos||'/'||(select decode(dos.val_uno,'valoruno',dos.campo_uno)from tabla_dos dos where uno.key=dos.key and dos.val_uno ='valoruno' )as valor_uno ||'/'|| select decode(dos.val_dos,'valordos',dos.campo_dos)from tabla_dos dos where uno.key=dos.key and dos.val_uno ='valordos' )as valor_dos from tabla_uno uno where uno.val_uno ='buscarEsto';
yo esperaria esto:
val_uno/val_dos/valor_uno/valor_dos
el error lo tengo al hacer las subquerys con decode porque he intentado concatenar varias subquerys que no contienen decode y no tengo problema, el problema lo obtengo al utilizar las subquerys con decode pero es necesario hacerlo as
select uno.val_uno||'/'||uno.val_dos||'/'||(select decode(dos.val_uno,'valoruno',dos.campo_uno)from tabla_dos dos where uno.key=dos.key and dos.val_uno ='valoruno' )as valor_uno from tabla_uno uno where uno.val_uno ='buscarEsto';
esa query funciona perfecto:
val_uno/val_dos/valor_uno
pero si le añado otra subconsulta y quiero concatenar no me permite:
select uno.val_uno||'/'||uno.val_dos||'/'||(select decode(dos.val_uno,'valoruno',dos.campo_uno)from tabla_dos dos where uno.key=dos.key and dos.val_uno ='valoruno' )as valor_uno ||'/'|| select decode(dos.val_dos,'valordos',dos.campo_dos)from tabla_dos dos where uno.key=dos.key and dos.val_uno ='valordos' )as valor_dos from tabla_uno uno where uno.val_uno ='buscarEsto';
yo esperaria esto:
val_uno/val_dos/valor_uno/valor_dos
el error lo tengo al hacer las subquerys con decode porque he intentado concatenar varias subquerys que no contienen decode y no tengo problema, el problema lo obtengo al utilizar las subquerys con decode pero es necesario hacerlo as
Valora esta pregunta


0