Try this:
DECLARE @a TABLE (EmployeeID INT, DateOvertime DATE, DurationOfOverTime INT, AchievedDuration INT)
INSERT INTO @a (EmployeeID, DateOvertime, DurationOfOverTime, AchievedDuration)
VALUES(27, '22-06-2015', 2, 1), (27, '23-06-2015', 2, 2)
DECLARE @b TABLE(EmployeeID INT, ModeAttendance VARCHAR(50), [Date] DATE, [Time] VARCHAR(50))
INSERT INTO @b (EmployeeID, ModeAttendance, [Date], [Time])
VALUES(27, 'OverTimeIn', '22-06-2015', '17:00:00'),
(27, 'OverTimeOut', '22-06-2015', '18:00:00'),
(27, 'OverTimeIn', '23-06-2015', '19:00:00'),
(27, 'OverTimeOut', '23-06-2015', '20:00:00')
SELECT t1.EmployeeID, t1.DateOvertime, t1.DurationOfOverTime, t1.AchievedDuration, t2.TimeOverTimeIn, t2.TimeOverTimeOut
FROM @a AS t1 INNER JOIN (
SELECT EmployeeID, [Date], OverTimeIn AS [TimeOverTimeIn], OverTimeOut AS [TimeOverTimeOut]
FROM (
SELECT *
FROM @b
) AS DT
PIVOT(MAX([Time]) FOR ModeAttendance IN([OverTimeIn], [OverTimeOut])) AS DT
) AS t2 ON t1.EmployeeID = t2.EmployeeID AND t1.DateOvertime = t2.Date
Result:
27 2015-06-22 2 1 17:00:00 18:00:00
27 2015-06-23 2 2 19:00:00 20:00:00