Попробуйте что-то вроде этого
DECLARE @Table1 TABLE(
ID VARCHAR(50),
PNAME VARCHAR(50),
Date DATETIME,
TimeIN VARCHAR(10),
[TimeOut] VARCHAR(10),
DateIn DATETIME,
DateOut DATETIME
)
INSERT INTO @Table1 (ID,PNAME,Date,TimeIN,[TimeOut],DateIn,DateOut)
SELECT 'AEAA00294','Alexander','13 Oct 2008', '09:00:00', '18:00:00','13 Oct 2008','13 Oct 2008'
INSERT INTO @Table1 (ID,PNAME,Date,TimeIN,[TimeOut],DateIn,DateOut)
SELECT 'AEAA00294','Alexander','14 Oct 2008', '16:00:00', '02:00:00','14 Oct 2008','15 Oct 2008'
INSERT INTO @Table1 (ID,PNAME,Date,TimeIN,[TimeOut],DateIn,DateOut)
SELECT 'AEAA00294','Alexander','16 Oct 2008', '09:00:00', '18:00:00','16 Oct 2008','16 Oct 2008'
DECLARE @Table2 TABLE(
Date DATETIME,
[Time] VARCHAR(10),
ID VARCHAR(50)
)
INSERT INTO @Table2 (Date,[Time],ID) SELECT '13 Oct 2008', '10:34:17', 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '13 Oct 2008' , '15:15:52' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '13 Oct 2008' , '17:08:36' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '13 Oct 2008' , '17:09:09' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '13 Oct 2008' , '17:10:15' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '14 Oct 2008' , '16:36:48' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '14 Oct 2008' , '03:08:38' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '15 Oct 2008' , '14:47:08' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '15 Oct 2008' , '15:11:33' , 'AEAA00294'
INSERT INTO @Table2 (Date,[Time],ID) SELECT '16 Oct 2008' , '09:52:11' , 'AEAA00294'
SELECT t1.ID,
t1.PNAME,
t1.DateIn,
t1.DateOut,
MIN(CAST(t2In.[Time] AS DATETIME)),
MAX(CAST(t2Out.[Time] AS DATETIME))
FROM @Table1 t1 LEFT JOIN
@Table2 t2IN ON t1.ID = t2IN.ID
AND t1.DateIn = t2IN.Date LEFT JOIN
@Table2 t2Out ON t1.ID = t2Out.ID
AND t1.DateOut = t2Out.Date
GROUP BY t1.ID,
t1.PNAME,
t1.DateIn,
t1.DateOut