Sobre Consulta Select

24/09/2004 - 21:41 por IrakRubio | Informe spam
Hola que tal, Resulta que tengo una consulta en donde a
traves de una sentencia CASE obtengo un valor u otro
dependiendo de la condicion y este lo regreso como una
columna, mas o menos asi:

Select CASE WHEN dbo.MyTabla.MiCampo > 0 THEN
0
ELSE
1
END AS MiNuevoCampo

Sin embargo, yo deseo condicionar la consulta en base al
resultado que de el campo virtual "MiNuevoCampo", mas o
menos así:

WHERE MiNuevoCampo=0

Pero SQL me devuelve un error que no reconoce el nombre
del campo, El ejemplo que expongo es la version sencilla,
la verdad es que debo recuperar el valor del campo virtual
para poderlo evaluar en la condicion WHERE, he probado
asignando variables pero no me funciona tampoco, Tambien
he pegado el mismo codigo despues de la sentencia where y
me devuelve resultados muy extraños, Existirá alguna otra
forma de poder recuperar el valor devuelto y poder
evaluarlo en la clausula WHERE???

mil gracias
 

Leer las respuestas

#1 Adrian D. Garcia
25/09/2004 - 01:56 | Informe spam
Seria algo asi:

Select CASE WHEN dbo.MyTabla.MiCampo > 0 THEN
0
ELSE
1
END AS MiNuevoCampo
FROM MyTabla
WHERE
CASE WHEN dbo.MyTabla.MiCampo > 0 THEN
0
ELSE
1
END > 0

Es decir, tendrias que repetir el CASE en el WHERE

Sin embargo, yo deseo condicionar la consulta en base al
resultado que de el campo virtual "MiNuevoCampo", mas o
menos así:

WHERE MiNuevoCampo=0


Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"IrakRubio" wrote in message
news:337601c4a26e$844dccd0$
Hola que tal, Resulta que tengo una consulta en donde a
traves de una sentencia CASE obtengo un valor u otro
dependiendo de la condicion y este lo regreso como una
columna, mas o menos asi:

Select CASE WHEN dbo.MyTabla.MiCampo > 0 THEN
0
ELSE
1
END AS MiNuevoCampo

Sin embargo, yo deseo condicionar la consulta en base al
resultado que de el campo virtual "MiNuevoCampo", mas o
menos así:

WHERE MiNuevoCampo=0

Pero SQL me devuelve un error que no reconoce el nombre
del campo, El ejemplo que expongo es la version sencilla,
la verdad es que debo recuperar el valor del campo virtual
para poderlo evaluar en la condicion WHERE, he probado
asignando variables pero no me funciona tampoco, Tambien
he pegado el mismo codigo despues de la sentencia where y
me devuelve resultados muy extraños, Existirá alguna otra
forma de poder recuperar el valor devuelto y poder
evaluarlo en la clausula WHERE???

mil gracias

Preguntas similares