Hola amigos,...
tengo problemas cuando trato de formar un WHERE dinamico
select *
FROM
dbo.Cmp_LiqImp AS li INNER JOIN dbo.Cmp_LiqImpFactura AS lif
INNER JOIN dbo.Cmp_Compra AS com ON
and li.IdEmpresa=@PI_IdEmpresa
and li.IdOficina=@PI_IdOficina
and (
(case @PI_IdCriterio
when 1 then li.IdLiqImp=CAST(@PI_Criterio AS INT) --// #Liquid
when 2 then detcom.GuiaRemision=@PI_Criterio --// #Guia
when 3 then li.IdOC=@PI_Criterio --// #OC
)
or
@PI_Criterio is null)
donde
@PI_IdCriterio puede tomar valor de
1= si se quiere comparar con una columna tipo NUMERICO ENTERO
2= si se quiere comparar con una columna tipo STRING
3= si se quiere comparar con una columna tipo NUMERICO ENTERO
ME SALE ERROR DE SINTAXIS, alguien me puede por favor ayudar??
Gracias.
Luis