Consulta con campos nulos

05/04/2006 - 22:04 por jcac | Informe spam
Hola foro,

Tengo los siguiente

Tabla 1
Campo1, Campo2, Campo3
1, 0, Null
2, 3, 5
3, 10, Null
4, 3, Null
5, 10, 10
...

Deseo filtrar por el campo2 y campo3, pero si no doy valor para busqueda del
campo3 que me devuelva todos inclusie los nulos, es decir

Declare @Campo2 int, @Campo3 int
Select @Campo2 = 3, @Campo3 = null
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 = IsNull(@Campo3,
Campo3)

Pero solo me devuelve
Campo1, Campo2, Campo3
2, 3, 5

y quisiera que me devuelva:
Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos

Preguntas similare

Leer las respuestas

#1 Isaias
05/04/2006 - 23:05 | Informe spam
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 is null
Saludos
IIslas


"jcac" escribió:

Hola foro,

Tengo los siguiente

Tabla 1
Campo1, Campo2, Campo3
1, 0, Null
2, 3, 5
3, 10, Null
4, 3, Null
5, 10, 10


Deseo filtrar por el campo2 y campo3, pero si no doy valor para busqueda del
campo3 que me devuelva todos inclusie los nulos, es decir

Declare @Campo2 int, @Campo3 int
Select @Campo2 = 3, @Campo3 = null
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 = IsNull(@Campo3,
Campo3)

Pero solo me devuelve
Campo1, Campo2, Campo3
2, 3, 5

y quisiera que me devuelva:
Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos



Respuesta Responder a este mensaje
#2 Isaias
05/04/2006 - 23:11 | Informe spam
Creo que ya le entendi


Select *
From tabla1
Where Campo2 = @Campo2
and Campo3 = (CASE WHEN @CAMPO3 THEN IS NULL ELSE @CAMPO3 END)

¿Funciona?

Saludos
IIslas


"jcac" escribió:

Hola foro,

Tengo los siguiente

Tabla 1
Campo1, Campo2, Campo3
1, 0, Null
2, 3, 5
3, 10, Null
4, 3, Null
5, 10, 10


Deseo filtrar por el campo2 y campo3, pero si no doy valor para busqueda del
campo3 que me devuelva todos inclusie los nulos, es decir

Declare @Campo2 int, @Campo3 int
Select @Campo2 = 3, @Campo3 = null
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 = IsNull(@Campo3,
Campo3)

Pero solo me devuelve
Campo1, Campo2, Campo3
2, 3, 5

y quisiera que me devuelva:
Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos



Respuesta Responder a este mensaje
#3 jcac
05/04/2006 - 23:20 | Informe spam
Hola Isaias creo que eso me devolveria

Campo1, Campo2, Campo3
4, 3, Null

y yo necesitaria que salga esto

Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos

"Isaias" escribió en el mensaje
news:
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 is null
Saludos
IIslas


"jcac" escribió:

Hola foro,

Tengo los siguiente

Tabla 1
Campo1, Campo2, Campo3
1, 0, Null
2, 3, 5
3, 10, Null
4, 3, Null
5, 10, 10


Deseo filtrar por el campo2 y campo3, pero si no doy valor para busqueda
del
campo3 que me devuelva todos inclusie los nulos, es decir

Declare @Campo2 int, @Campo3 int
Select @Campo2 = 3, @Campo3 = null
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 = IsNull(@Campo3,
Campo3)

Pero solo me devuelve
Campo1, Campo2, Campo3
2, 3, 5

y quisiera que me devuelva:
Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos



Respuesta Responder a este mensaje
#4 jcac
05/04/2006 - 23:25 | Informe spam
Gracias por tu tiempo Isaias,

Pero lo que deseo es que si yo le paso null como busqueda me devuelva los
campos que tienen null y que no tienen null, eso es lo que no puedo hacer.

Saludos



"Isaias" escribió en el mensaje
news:
Creo que ya le entendi


Select *
From tabla1
Where Campo2 = @Campo2
and Campo3 = (CASE WHEN @CAMPO3 THEN IS NULL ELSE @CAMPO3 END)

¿Funciona?

Saludos
IIslas


"jcac" escribió:

Hola foro,

Tengo los siguiente

Tabla 1
Campo1, Campo2, Campo3
1, 0, Null
2, 3, 5
3, 10, Null
4, 3, Null
5, 10, 10


Deseo filtrar por el campo2 y campo3, pero si no doy valor para busqueda
del
campo3 que me devuelva todos inclusie los nulos, es decir

Declare @Campo2 int, @Campo3 int
Select @Campo2 = 3, @Campo3 = null
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 = IsNull(@Campo3,
Campo3)

Pero solo me devuelve
Campo1, Campo2, Campo3
2, 3, 5

y quisiera que me devuelva:
Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos



Respuesta Responder a este mensaje
#5 Noldis Chumacero
06/04/2006 - 00:59 | Informe spam
jcac,


DECLARE @campo3 INT
DECLARE @campo2 int
Select @Campo2 = 3, @Campo3 = null
IF @campo3 is null
SELECT * FROM Tabla1 WHERE Campo2=@Campo2
ELSE
SELECT * FROM Tabla1 WHERE
Campo2=@Campo2 AND Campo3 = @Campo3



Ing. Noldis Chumacero Chávez
Departamento de Sistemas
AeroSur S.A.
Santa Cruz de la Sierra, Bolivia
Telf. 3364446(236) 77074919
"jcac" escribió en el mensaje
news:
Hola foro,

Tengo los siguiente

Tabla 1
Campo1, Campo2, Campo3
1, 0, Null
2, 3, 5
3, 10, Null
4, 3, Null
5, 10, 10
...

Deseo filtrar por el campo2 y campo3, pero si no doy valor para busqueda
del campo3 que me devuelva todos inclusie los nulos, es decir

Declare @Campo2 int, @Campo3 int
Select @Campo2 = 3, @Campo3 = null
Select * From tabla1 Where Campo2 = @Campo2 and Campo3 = IsNull(@Campo3,
Campo3)

Pero solo me devuelve
Campo1, Campo2, Campo3
2, 3, 5

y quisiera que me devuelva:
Campo1, Campo2, Campo3
2, 3, 5
4, 3, Null

Saludos

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida