Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Mostrar Campo2 Si Campo1 Is Null

Estas en el tema de Mostrar Campo2 Si Campo1 Is Null en el foro de SQL Server en Foros del Web. Como vereis por mi consulta soy nueva en esto de sql y necesitaria un poco de ayuda: tengo una tabla de la que quiero seleccionar ...
  #1 (permalink)  
Antiguo 13/05/2008, 09:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Mostrar Campo2 Si Campo1 Is Null

Como vereis por mi consulta soy nueva en esto de sql y necesitaria un poco de ayuda:
tengo una tabla de la que quiero seleccionar campo1, campo2, campo3 y sólo seleccionar el campo4 cuando el campo 3 está vacío o es null.
Espero que me podais ayudar, muchas gracias a todos...
  #2 (permalink)  
Antiguo 13/05/2008, 10:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Mostrar Campo2 Si Campo1 Is Null

Código:
SELECT campo1, campo2, campo3, CASE WHEN campo3 IS NULL THEN campo4 ELSE '' END [campo4]
FROM tabla
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 13/05/2008, 19:42
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Mostrar Campo2 Si Campo1 Is Null

El estándar de SQL define para este caso COALESCE. Combínalo con NULLIF
Código:
SELECT  campo1,
        campo2,
        COALESCE(NULLIF(campo3, ''), campo4)
FROM    tabla
  #4 (permalink)  
Antiguo 14/05/2008, 02:00
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: Mostrar Campo2 Si Campo1 Is Null

Muchas gracias a todos por vuestra ayuda, da gusto ver como ayudais de forma desinteresada,ojala todo el mundo fuera así. muchas gracias chicos!!!
  #5 (permalink)  
Antiguo 14/05/2008, 07:17
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Mostrar Campo2 Si Campo1 Is Null

Cita:
Iniciado por Beakdan Ver Mensaje
El estándar de SQL define para este caso COALESCE. Combínalo con NULLIF
Código:
SELECT  campo1,
        campo2,
        COALESCE(NULLIF(campo3, ''), campo4)
FROM    tabla
Hay que aclarar que este ese el equivalente en SQL Server 2005.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 14/05/2008, 08:15
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Mostrar Campo2 Si Campo1 Is Null

Aclarando: ambas funciones Coalesce y nullif existen en SQL Server 2000.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 14/05/2008, 09:10
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Mostrar Campo2 Si Campo1 Is Null

Interesante! Nunca habia visto esas funciones en el 2000.
He revisado esas funciones y no me parece el uso necesario de nullif. Con Coalesce es suficiente.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 14/05/2008, 09:27
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Mostrar Campo2 Si Campo1 Is Null

Cuando la condición busque sólo los valores nulos, tendrás razón. Sin embargo, grupsa escribió
Cita:
está vacío o es null
En ese caso, he interpretado que con "esta vacío" se refiere a una cadena vacía.
  #9 (permalink)  
Antiguo 14/05/2008, 09:35
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Mostrar Campo2 Si Campo1 Is Null

Bueno, no voy a discutir eso, ya dira grupsa. Lo que si voy a decir es, gracias por el dato!
En este foro he aprendido tantas cosas :)
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 15:29.