SELECT CONDICIONAL

04/05/2007 - 22:39 por Cristian Meneses | Informe spam
Buenas
Como se puede resolver la siguiente idea???

CREATE PROCEDURE [dbo].[GETDepositos]
(
@AUX bit,
@IDDEPOSITO tinyint,
@IDSUCURSAL int,
@ELIMINADO bit
)
AS
SET NOCOUNT ON
SELECT
IDDeposito,
CASE WHEN @AUX= 1 THEN IDSucursal END, > AQUI LA CONDICION
Deposito
FROM Depositos
WHERE
Eliminado = @ELIMINADO AND
IDSucursal = @IDSUCURSAL AND
IDDeposito = @IDDEPOSITO END
RETURN
GO

Al ejecutar el SP me muestra siempre la columna sin titulo y la idea
es que al pasarle @AUX = 0 solo muestre IDDeposito y Deposito (no
IDSucursal).
Muchas gracias


Cristian Meneses
 

Leer las respuestas

#1 Javier Loria
05/05/2007 - 03:09 | Informe spam
Hola:
Con un IF seria lo más sencillo:
=CREATE PROCEDURE [dbo].[GETDepositos]
(
@AUX bit,
@IDDEPOSITO tinyint,
@IDSUCURSAL int,
@ELIMINADO bit
)
AS
SET NOCOUNT ON;
IF @AUX= 1
BEGIN
SELECT IDDeposito,
IDSucursal,
Deposito
FROM Depositos
WHERE
Eliminado = @ELIMINADO AND
IDSucursal = @IDSUCURSAL AND
IDDeposito = @IDDEPOSITO
END
ELSE
BEGIN
SELECT IDDeposito,
Deposito
FROM Depositos
WHERE
Eliminado = @ELIMINADO AND
IDSucursal = @IDSUCURSAL AND
IDDeposito = @IDDEPOSITO
END
RETURN
GO
= Saludos,



Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Cristian Meneses" wrote in message
news:
Buenas
Como se puede resolver la siguiente idea???

CREATE PROCEDURE [dbo].[GETDepositos]
(
@AUX bit,
@IDDEPOSITO tinyint,
@IDSUCURSAL int,
@ELIMINADO bit
)
AS
SET NOCOUNT ON
SELECT
IDDeposito,
CASE WHEN @AUX= 1 THEN IDSucursal END, > AQUI LA CONDICION
Deposito
FROM Depositos
WHERE
Eliminado = @ELIMINADO AND
IDSucursal = @IDSUCURSAL AND
IDDeposito = @IDDEPOSITO END
RETURN
GO

Al ejecutar el SP me muestra siempre la columna sin titulo y la idea
es que al pasarle @AUX = 0 solo muestre IDDeposito y Deposito (no
IDSucursal).
Muchas gracias


Cristian Meneses

Preguntas similares