se me olvidaba decir el campo Activo es Boolean, por eso es q pongo condicion "2" para mostrar todo...
Código:
CREATE PROC BUSCAR @CLIE_COD NVARCHAR(5), @CLIE_NOMBRE NVARCHAR(60), @CLIE_RUC NVARCHAR(11), @CLIE_Activo INT AS IF @CLIE_COD = '' BEGIN IF @CLIE_NOMBRE = '' BEGIN IF @CLIE_RUC = '' BEGIN PRINT 'CLIENTE NO REGISTRADO' END ELSE BEGIN IF @CLIE_Activo = 2 BEGIN SELECT * FROM CLIENTE WHERE CLIE_RUC LIKE @CLIE_RUC + '%' END ELSE BEGIN SELECT * FROM CLIENTE WHERE CLIE_RUC LIKE @CLIE_RUC + '%'and CLIE_Activo = @CLIE_Activo END END END ELSE BEGIN IF @CLIE_Activo = 2 BEGIN SELECT * FROM CLIENTE WHERE CLIE_NOMBRE LIKE @CLIE_NOMBRE + '%' ORDER BY CLIE_NOMBRE END ELSE BEGIN SELECT * FROM CLIENTE WHERE CLIE_NOMBRE LIKE @CLIE_NOMBRE + '%' and CLIE_Activo = @CLIE_Activo ORDER BY CLIE_NOMBRE END END END ELSE BEGIN IF @CLIE_Activo = 2 BEGIN SELECT * FROM CLIENTE WHERE CLIE_COD LIKE @CLIE_COD + '%' END ELSE BEGIN SELECT * FROM CLIENTE WHERE CLIE_COD LIKE @CLIE_COD + '%' and CLIE_Activo = @CLIE_Activo END END GO