ALTER PROCEDURE [dbo].[sp_invStock_Valorizado]
(
@codbusi char(100),
@codbusf char(100),
@codbodi int,
@codbodf int,
@famini varchar(10),
@famfin varchar(10),
@subini varchar(10),
@subfin varchar(10),
@where varchar(50)
)
AS 
DECLARE @filtroWhere varchar(50)

    IF (@where = '<> 0')
        SET @filtroWhere = '<> 0'
    ELSE IF (@where = '= 0')
        SET @filtroWhere = '= 0'
    ELSE IF (@where = '< 0')
        SET @filtroWhere = '< 0'
    ELSE IF (@where = '< 1')
        SET @filtroWhere = '< 1'
    ELSE
        SET @filtroWhere = '' 

SELECT 
    Stock.codbod, 
    Bodega.nombod, 
    Articulos.codbus, 
    Articulos.codalt, 
    Articulos.nomart, 
    UnidadMedida.abruni, 
    Stock.salini, 
    Stock.saltot, 
    Stock.stofis,
    Articulos.codfam,
    Articulos.codsub,
    Articulos.ubiinv1,
    Articulos.ubiinv2,
    Articulos.ubiinv3
FROM 
    invUnidadMedida UnidadMedida 
    INNER JOIN invArticulos Articulos ON Articulos.coduni = UnidadMedida.coduni
    INNER JOIN invStock Stock ON Stock.codbus = Articulos.codbus AND Stock.codbod BETWEEN @codbodi AND @codbodf
    INNER JOIN invBodega Bodega ON Bodega.codbod = Stock.codbod
WHERE
    Articulos.codbus BETWEEN @codbusi AND @codbusf
    AND Articulos.codfam BETWEEN @famini AND @famfin
    AND Articulos.codsub BETWEEN @subini AND rtrim(@subfin)
    --AND Stock.codbod BETWEEN @codbodi AND @codbodf
    AND 
    (
            (@filtroWhere = '' OR (@filtroWhere = '<> 0' AND Stock.saltot <> 0)
            OR (@filtroWhere = '= 0' AND Stock.saltot = 0)
            OR (@filtroWhere = '< 0' AND Stock.saltot < 0)
            OR (@filtroWhere = '< 1' AND Stock.saltot < 1))
    )

	--Si "@filtroWhere" está vacío, no se aplica ningún filtro adicional.
    --Si "@filtroWhere" es igual a "<> 0", se buscan registros donde el valor de "saltot" es diferente de cero.
    --Si "@filtroWhere" es igual a "= 0", se buscan registros donde el valor de "saltot" es cero.
    --Si "@filtroWhere" es igual a "< 0", se buscan registros donde el valor de "saltot" es menor que cero.
    --Si "@filtroWhere" es igual a "< 1", se buscan registros donde el valor de "saltot" es menor que uno.

ORDER BY Articulos.codbus

RETURN