Where - Usando el Case

08/10/2008 - 09:20 por Don Juan | Informe spam
Hola a todos
Recibo una variable en mi Procediiento almacenado que contiene el ID del
cliente.
Entonces utilizo esta línea de código:

WHERE ID=@ID

Ahora bien si el @ID es 0 necesito mostrar todos los clientes, entonces la
línea cambia a:

WHERE ID<>@ID

Por el momento tenog dos proceimientos, cada uno con un WHERE diferente.
pero es posible hacer algo así?
(Cuando el @ID sea 0 entonces coja cualquier ID diferente de 0, caso
contrario escoja solo un ID)

WHERE
CASE
WHEN @ID=0 THEN
ID <> @ID
ELSE
ID = @ID
END

1000 gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Ricardo Junquera
08/10/2008 - 11:18 | Informe spam
Hola
Que te parece con SQL dinamico

Algo así

Tu consulta
@StrSQL=' Select * from xxx'

If ID=0
@StrWhere=' Where xxxx'
Else
@StrWhere=' Where yyyy'

Exec (@StrSQL + @StrWhere)

Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"Don Juan" wrote:

Hola a todos
Recibo una variable en mi Procediiento almacenado que contiene el ID del
cliente.
Entonces utilizo esta lnea de cdigo:

WHERE ID=@ID

Ahora bien si el @ID es 0 necesito mostrar todos los clientes, entonces la
lnea cambia a:

WHERE ID<>@ID

Por el momento tenog dos proceimientos, cada uno con un WHERE diferente.
pero es posible hacer algo as?
(Cuando el @ID sea 0 entonces coja cualquier ID diferente de 0, caso
contrario escoja solo un ID)

WHERE
CASE
WHEN @ID=0 THEN
ID <> @ID
ELSE
ID = @ID
END

1000 gracias de antemano.

Respuesta Responder a este mensaje
#2 raipon
08/10/2008 - 13:41 | Informe spam
Hola, otra solución podria ser :

... Where Id = @Id Or @Id = 0

Adios, un saludo.
Respuesta Responder a este mensaje
#3 Don Juan
08/10/2008 - 13:54 | Informe spam
Gracias por sus aportes!

"raipon" wrote in message
news:
Hola, otra solución podria ser :

... Where Id = @Id Or @Id = 0

Adios, un saludo.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida