Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/12/2011, 02:31
delgaillo
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años
Puntos: 2
Problema con decode y nvl

Tengo un problema en la select:

SELECT
organismos.ID_ENTIDAD ValueField,
organismos.CODIGO,
organismos.NOMBRE TextField,
paises.NOMBRE PAIS,
provincias.NOMBRE PROVINCIA,
organismos.DIRECCION,
DECODE(nvl(organismos.TODOS,''F''),''F'' ,
DECODE(organismos.SEDE, ''T'',
DECODE(centro.NOMBRE, '',
DECODE(organismos.CPC,''T'',''CPC''),''SEDE''),cen tro.NOMBRE),''TODOS'') Lugar
-> Quiero que si en el campo todos sale una T, que ponga "TODOS" en el resultado de esa columna, sino si en sede sale una T, que ponga "SEDE", sino si el campo centro.nombre no está vacío que muestre el nombre, sino que compruebe que hay una T en organismos.CPC y si la hay, que en el resultado de esa columna ponga "CPC". T = true, F = false


FROM TB_ORG_EMPRESAS_ORGANISMOS organismos left outer join TB_ORG_PAISES paises on organismos.ID_PAIS = paises.ID_PAIS
LEFT OUTER JOIN TB_GME_CM centro on organismos.ID_CENTRO = centro.ID_CENTRO
LEFT OUTER JOIN TB_ORG_PROVINCIAS provincias ON organismos.ID_PROVINCIA = provincias.ID_PROVINCIA
WHERE organismos.TIPO_ENTIDAD = ''T'' ';

¿Qué estoy haciendo mal?. Soy nuevo en Oracle, y mezclar estas dos funciones (Decode y nvl) me está dando problemas. Muchas gracias de antemano.