Cita:
En las columnas: ID_EMPLEADO, Nombre y CredM4 hay valores null lo cual debería ser imposible puesto que son llaves primarias, checando directamente las tablas donde se extrae la información no hay valores null pero en este select se crean cuando no deberían, llevo 3 días trabajando en ello y no doy con la respuesta. ayuda!!!SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER VIEW dbo.ViConsultaChecadasFincas
AS
SELECT TOP 100 PERCENT
ISNULL(M4_HIST_CENTROS_TRABAJO.ID_CENTRO_TRABAJO, dbo.TbRelojes.FINCA) AS Finca,
ISNULL(M4_FASES_ALTA.ID_EMPLEADO, 'NO ENCONTRADO') AS ID_EMPLEADO,
ISNULL(M4T_EMPLEADOS.APELLIDO_1 + ' ' + M4T_EMPLEADOS.APELLIDO_2 + ' ' + M4T_EMPLEADOS.NOMBRE, 'NO EN META4') AS Nombre,
ISNULL(RIGHT(M4_FASES_ALTA.ID_EMPLEADO, 5), 'NO') AS CredM4,
CONVERT(DATETIME, LEFT(dbo.TbHandPunch.FechaChecada, 4) + '-' + SUBSTRING(dbo.TbHandPunch.FechaChecada, 5, 2) + '-' + RIGHT(dbo.TbHandPunch.FechaChecada, 2), 102) AS Fecha,
CONVERT(DATETIME, '1899-12-30 '+LEFT(dbo.TbHandPunch.HoraChecada, 2) + ':' + SUBSTRING(dbo.TbHandPunch.HoraChecada, 3, 2) + ':' + RIGHT(dbo.TbHandPunch.HoraChecada, 2), 102) AS Hora,
dbo.TbHandPunch.Terminal,
dbo.TbRelojes.Desc_Reloj AS Terminal_Desc,
dbo.TbHandPunch.Credencial,
M4_FASES_ALTA.FEC_BAJA,
DATEPART(WEEKDAY, CONVERT(DATETIME, LEFT(dbo.TbHandPunch.FechaChecada, 4) + '-' + SUBSTRING(dbo.TbHandPunch.FechaChecada, 5, 2) + '-' + RIGHT(dbo.TbHandPunch.FechaChecada, 2), 102)) AS DIASEMANA
FROM
dbo.TbRelojes
RIGHT OUTER JOIN
dbo.TbHandPunch
ON
dbo.TbRelojes.Cod_Reloj = dbo.TbHandPunch.Terminal
LEFT OUTER JOIN
emind.dbo.M4_FASES_ALTA M4_FASES_ALTA
INNER JOIN
emind.dbo.M4T_EMPLEADOS M4T_EMPLEADOS
ON
M4_FASES_ALTA.ID_SOCIEDAD = M4T_EMPLEADOS.ID_SOCIEDAD
AND
M4_FASES_ALTA.ID_EMPLEADO = M4T_EMPLEADOS.ID_EMPLEADO
INNER JOIN
emind.dbo.M4_HIST_CENTROS_TRABAJO M4_HIST_CENTROS_TRABAJO
ON
M4T_EMPLEADOS.ID_SOCIEDAD = M4_HIST_CENTROS_TRABAJO.ID_SOCIEDAD
AND
M4T_EMPLEADOS.ID_EMPLEADO = M4_HIST_CENTROS_TRABAJO.ID_EMPLEADO
AND
M4_FASES_ALTA.FEC_ALTA_EMPLEADO = M4_HIST_CENTROS_TRABAJO.FEC_ALTA_EMPLEADO
ON
dbo.TbRelojes.FINCA COLLATE SQL_Latin1_General_CP1_CI_AS = M4_HIST_CENTROS_TRABAJO.ID_CENTRO_TRABAJO
AND
dbo.TbHandPunch.Credencial COLLATE SQL_Latin1_General_CP1_CI_AS = RIGHT(M4_FASES_ALTA.ID_EMPLEADO_OLD, 5)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
GO
SET ANSI_NULLS ON
GO
ALTER VIEW dbo.ViConsultaChecadasFincas
AS
SELECT TOP 100 PERCENT
ISNULL(M4_HIST_CENTROS_TRABAJO.ID_CENTRO_TRABAJO, dbo.TbRelojes.FINCA) AS Finca,
ISNULL(M4_FASES_ALTA.ID_EMPLEADO, 'NO ENCONTRADO') AS ID_EMPLEADO,
ISNULL(M4T_EMPLEADOS.APELLIDO_1 + ' ' + M4T_EMPLEADOS.APELLIDO_2 + ' ' + M4T_EMPLEADOS.NOMBRE, 'NO EN META4') AS Nombre,
ISNULL(RIGHT(M4_FASES_ALTA.ID_EMPLEADO, 5), 'NO') AS CredM4,
CONVERT(DATETIME, LEFT(dbo.TbHandPunch.FechaChecada, 4) + '-' + SUBSTRING(dbo.TbHandPunch.FechaChecada, 5, 2) + '-' + RIGHT(dbo.TbHandPunch.FechaChecada, 2), 102) AS Fecha,
CONVERT(DATETIME, '1899-12-30 '+LEFT(dbo.TbHandPunch.HoraChecada, 2) + ':' + SUBSTRING(dbo.TbHandPunch.HoraChecada, 3, 2) + ':' + RIGHT(dbo.TbHandPunch.HoraChecada, 2), 102) AS Hora,
dbo.TbHandPunch.Terminal,
dbo.TbRelojes.Desc_Reloj AS Terminal_Desc,
dbo.TbHandPunch.Credencial,
M4_FASES_ALTA.FEC_BAJA,
DATEPART(WEEKDAY, CONVERT(DATETIME, LEFT(dbo.TbHandPunch.FechaChecada, 4) + '-' + SUBSTRING(dbo.TbHandPunch.FechaChecada, 5, 2) + '-' + RIGHT(dbo.TbHandPunch.FechaChecada, 2), 102)) AS DIASEMANA
FROM
dbo.TbRelojes
RIGHT OUTER JOIN
dbo.TbHandPunch
ON
dbo.TbRelojes.Cod_Reloj = dbo.TbHandPunch.Terminal
LEFT OUTER JOIN
emind.dbo.M4_FASES_ALTA M4_FASES_ALTA
INNER JOIN
emind.dbo.M4T_EMPLEADOS M4T_EMPLEADOS
ON
M4_FASES_ALTA.ID_SOCIEDAD = M4T_EMPLEADOS.ID_SOCIEDAD
AND
M4_FASES_ALTA.ID_EMPLEADO = M4T_EMPLEADOS.ID_EMPLEADO
INNER JOIN
emind.dbo.M4_HIST_CENTROS_TRABAJO M4_HIST_CENTROS_TRABAJO
ON
M4T_EMPLEADOS.ID_SOCIEDAD = M4_HIST_CENTROS_TRABAJO.ID_SOCIEDAD
AND
M4T_EMPLEADOS.ID_EMPLEADO = M4_HIST_CENTROS_TRABAJO.ID_EMPLEADO
AND
M4_FASES_ALTA.FEC_ALTA_EMPLEADO = M4_HIST_CENTROS_TRABAJO.FEC_ALTA_EMPLEADO
ON
dbo.TbRelojes.FINCA COLLATE SQL_Latin1_General_CP1_CI_AS = M4_HIST_CENTROS_TRABAJO.ID_CENTRO_TRABAJO
AND
dbo.TbHandPunch.Credencial COLLATE SQL_Latin1_General_CP1_CI_AS = RIGHT(M4_FASES_ALTA.ID_EMPLEADO_OLD, 5)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Cita:
FINCA ID_EMPLEADO Nombre CredM4 Fecha Hora
TXC NO ENCONTR NO EN META4 NO 2007-05-18 00:00:00.000 1899-12-30 10:21:36.000
TXC NO ENCONTR NO EN META4 NO 2007-05-18 00:00:00.000 1899-12-30 10:21:54.000
TXC 4996 Quintero Hernandez Javier 4996 2007-05-18 00:00:00.000 1899-12-30 07:42:58.000
TXC NO ENCONTR NO EN META4 NO 2007-05-18 00:00:00.000 1899-12-30 07:43:14.000
TXC 4996 Quintero Hernandez Javier 4996 2007-05-18 00:00:00.000 1899-12-30 07:44:08.000
TXC NO ENCONTR NO EN META4 NO 2007-05-18 00:00:00.000 1899-12-30 10:21:36.000
TXC NO ENCONTR NO EN META4 NO 2007-05-18 00:00:00.000 1899-12-30 10:21:54.000
TXC 4996 Quintero Hernandez Javier 4996 2007-05-18 00:00:00.000 1899-12-30 07:42:58.000
TXC NO ENCONTR NO EN META4 NO 2007-05-18 00:00:00.000 1899-12-30 07:43:14.000
TXC 4996 Quintero Hernandez Javier 4996 2007-05-18 00:00:00.000 1899-12-30 07:44:08.000