DECLARE @SqlDinamica nvarchar(max)=''
declare @fecha1 date = '2020-03-04'
declare @fecha2 date = '2020-03-05'
declare @ttipousuario varchar(2) =NULL-- 'US'
DECLARE @NOM VARCHAR(100) = NULL
set @SqlDinamica = @SqlDinamica +
' select
X1.tCodigo ,
(CASE WHEN X1.tTipoUsuario =''US'' THEN
X2.tDetallado
ELSE
X3.Descripcion
END
)USUARIO,
x1.tTipoUsuario,
CONVERT (varchar(10), CAST(X1.fRegistro AS datetime), 126 ) fRegistro,
CONVERT (varchar(10), CAST(X1.fRegistroContable AS datetime), 126 ) fRegistroContable,
MIN(CONVERT(varchar,x1.tHora,108))HI,
(CASE WHEN MIN(CONVERT(varchar,x1.tHora,108)) = MAX(CONVERT(varchar,x1.tHora,108)) THEN
''''
ELSE
MAX(CONVERT(varchar,x1.tHora,108))
END)HF
from
TDETALLEASISTENCIA x1
left join TUSUARIO x2
on x1.tCodigo = x2.tCodigoUsuario
and x1.tTipoUsuario =''US''
left join vMozo x3
on x1.tCodigo = x3.Codigo
and x1.tTipoUsuario = ''MO''
where tcodigo <>''''
'
if @fecha1 <> null OR @FECHA1 <>''
begin
set @SqlDinamica = @SqlDinamica + ' and CONVERT (varchar(10), CAST(X1.fRegistroContable AS datetime), 126 ) between ''' + CONVERT (varchar(10), CAST(@fecha1 AS datetime), 126 )+''' and ''' + CONVERT (varchar(10), CAST(@fecha2 AS datetime), 126 )+''''
end
if @ttipousuario <> null OR @ttipousuario <>''
begin
set @SqlDinamica = @SqlDinamica + ' and x1.tTipoUsuario = ''' + @ttipousuario +''''
end
if @NOM <> null OR @NOM <>''
begin
set @SqlDinamica = @SqlDinamica + ' and x1.tCodigo = ''' + @NOM +''''
end
set @SqlDinamica = @SqlDinamica +
'
GROUP BY
X1.tCodigo,
x1.tTipoUsuario,
CONVERT (varchar(10), CAST(X1.fRegistro AS datetime), 126 ),
CONVERT (varchar(10), CAST(X1.fRegistroContable AS datetime), 126 ),
X2.tDetallado,
X3.Descripcion'
exec SP_EXECUTESQL @SqlDinamica
Comentarios sobre la versión: 1 (0)
No hay comentarios