InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
SQL
  Tutorial SQL
SQL Server
  Tutorial de Transact-SQL
ORACLE
  Tutorial PL/SQL
.NET
  Introducción a.NET
  Conceptos generales .NET
  Tutorial C#
  LinQ
  WCF
Reina Roja
  Humor
  Bibliografia
  Acerca de ...

Afiliados
La Web del programador
MundoProgramacion

consulta decode
tema iniciado porsara en SQL
Mensaje recibido el [07/04/2006 06:30:12]


EN ESTA CONSULTA

SELECT TEMA,EJEMPLARES,
DECODE(EJEMPLARES,7,DECODE(TEMA,TEMA'SEVEN','TEMA),TEMA)
"CODIGO" FROM LIBRERIA

que es lo que hace esta select¿? porque repite tanto el tema?


 RE: consulta decode por Devjoker [07/04/2006 07:4:06]
 RE: consulta decode por sara [07/04/2006 07:34:49]
 RE: consulta decode por sara [07/04/2006 06:2:27]
 RE: consulta decode por Devjoker [18/04/2006 03:8:33]

 
RE: consulta decode por Devjoker
Respuesta recibida el [07/04/2006 07:04:06]

Hola,

decode es una función parecida al if.

Funciona de la siguiente manera :

   DECODE(<expresion a evaluar>, <valor1>,<retorno1>,<valor2>,<retorno2>, ..., <retorno_por_defecto>)

Vamos por pasos, tu consulta un poco simplificada:

SELECT TEMA,EJEMPLARES,
       DECODE(EJEMPLARES,
                          7, 'EL VALOR DEL CAMPO EJEMPLARES ES 7 '
                          ,'EL VALOR DEL CAMPO EJEMPLARES NO ES 7 ')

Cuando ejecutes este SELECT te devolverá "EL VALOR DEL CAMPO EJEMPLARES ES 7" cuando EJEMPLARES = 7 y el literal 'EL VALOR DEL CAMPO EJEMPLARES NO ES 7 ' cuando EJEMPLARES se diferente de 7.

De esta manera tu select:

SELECT TEMA,EJEMPLARES,
       DECODE(EJEMPLARES,
                          7, DECODE(TEMA,'SEVEN','TEMA',TEMA)
                          )

Si ejemplares = 7 , entonces: si tema = 'SEVEN' devuelve el literal "TEMA", y el valor del campo TEMA cuando tema <> 'SEVEN'.

Si ejemplares <> 7 devuelve null, ya que no especificas valor por defecto.

Saludos,

DJK


 
RE: consulta decode por sara
Respuesta recibida el [07/04/2006 07:34:49]
si tiene valor por defecto mi consulta

SELECT TEMA,EJEMPLARES, DECODE(EJEMPLARES,7,
DECODE(TEMA,TEMA'SEVEN','TEMA),
TEMA)"CODIGO" FROM LIBRERIA;
ESTE ES EL VALOR POR DEFECTO NO? EL TEMA ULTIMO QUE HE ESCRITO.
NO¿? si ejemplares es distinto de 7

 
RE: consulta decode por sara
Respuesta recibida el [07/04/2006 06:02:27]

HOLA SI TIENE VALOR POR DEFECTO MI CONSULTA
SI EJEMPLARES ES DISTINTO DE 7. ¿no es el ultimo tema que he escrito?

SELECT TEMA,EJEMPLARES,
DECODE(EJEMPLARES,7,DECODE(TEMA,TEMA,'SEVEN',TEMA),TEMA)
"CODIGO"
FROM LIBRERIA;




 
RE: consulta decode por Devjoker
Respuesta recibida el [18/04/2006 03:08:33]

Hola,

Como dices si tienes valor por defecto, me referia al ejemplo que he puesto antes, porque la primera consulta le faltaba una coma y pensé que era un errata porque DECODE(TEMA,TEMA,'SEVEN',TEMA) siempre devuelve 'SEVEN' y no parece que tenga mucho sentido ¿no?.

SELECT TEMA,EJEMPLARES,
DECODE(EJEMPLARES,
                                       
7, DECODE(TEMA,TEMA,'SEVEN',TEMA) --siempre devuelve 'SEVEN' cuando EJEMPLARES = 7
                                       ,TEMA)
"CODIGO"
FROM LIBRERIA

Seria equivalente a:

SELECT TEMA,EJEMPLARES,
DECODE(EJEMPLARES,
                                        7, 'SEVEN' 
                                      ,TEMA)
"CODIGO"
FROM LIBRERIA

 



 

Email:*
Alias:*
Título:*
Respuesta:*
Notificar:
(Indica si queremos recibir emails)

 
 

devjoker  Te recomendamos además ...
10/07/2006 Subprogramas en bloques anónimos    forma parte de...Tutorial PL/SQL
28/06/2006 Procedimientos almacenados en PL/SQL    forma parte de...Tutorial PL/SQL
10/07/2006 Subprogramas en PL/SQL    forma parte de...Tutorial PL/SQL
19/10/2005 Configurar el IIS para ejecutar aplicaciones ASP.net
27/08/2007 Enviar email con C#
22/10/2005 Vistas    forma parte de...Tutorial SQL
10/07/2006 Funciones en PL/SQL    forma parte de...Tutorial PL/SQL
29/09/2006 Assemblies    forma parte de...Conceptos generales .NET
01/01/2005 Bases de datos.    forma parte de...Iniciación a las bases de datos
22/10/2005 Componentes del lenguaje SQL    forma parte de...Tutorial SQL

Encuesta
Si trabajas con .NET ¿Que entorno utilizas?
[Ver] [Votar]