Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/08/2010, 14:23
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años, 2 meses
Puntos: 447
Respuesta: Como hago para que me duvuelva un literal en vez de un valor numerico

Hola lordphoenixs, ya iislas te dio la solución, te pongo otra sintaxis alternativa para el case:

Código SQL:
Ver original
  1. SELECT
  2. CASE Sexo
  3. WHEN 0 THEN 'Masculino'
  4. WHEN 1 THEN 'Femenino'
  5. END AS Sexo, Peso
  6. FROM dbo.Obstetrica

Sin embargo, por experiencia propia no recomiendo este tipo de codificación en las consultas. Lo ideal sería que definieras un catálogo de sexos y entonces hacer un inner join con este catálogo. Quedaría más o menos así:

Código SQL:
Ver original
  1. CREATE TABLE [dbo].[cat_sexos](
  2.     [sexo] [INT] NOT NULL,
  3.     [descripcion] [VARCHAR](10) NOT NULL
  4. )
  5.  
  6. INSERT INTO dbo.cat_sexos(sexo, descripcion) VALUES (0, 'Masculino')
  7. INSERT INTO dbo.cat_sexos(sexo, descripcion) VALUES (1, 'Femenino')
  8.  
  9. SELECT
  10. b.Sexo, a.Peso
  11. FROM dbo.Obstetrica a INNER JOIN dbo.cat_sexos b ON b.sexo = a.sexo

Esta sería una solución más formal, faltando aun definir las llaves y las relaciones entre las tablas, pero si eres dba te ahorrará problemas en el futuro.

Saludos
Leo.