SELECT r1.date, e1.id_employees, r1.id_department, s1.id_office, s1.startTime,CONCAT(r1.id_department,'_',s1.id_office,'_',r1.date) AS Uslov FROM tbl_schedule AS r1 INNER JOIN tbl_calendar AS k1 ON r1.date = k1.date LEFT JOIN tbl_citydepartmentoffice AS s1 ON (k1.id_cityDepartmentOffice = s1.Id_cityDeparmentOffice AND r1.id_department = s1.id_department) INNER JOIN tbl_employees AS e1 ON r1.id_employees=e1.id_employees INNER JOIN ( SELECT ra1.date, ea1.id_employees, ra1.id_department, sa1.id_office, sa1.startTime FROM tbl_schedule AS ra1 INNER JOIN tbl_calendar AS ka1 ON ra1.date = ka1.date LEFT JOIN tbl_citydepartmentoffice AS sa1 ON (ka1.id_cityDepartmentOffice = sa1.Id_cityDeparmentOffice AND ra1.id_department = sa1.id_department) INNER JOIN tbl_employees AS ea1 ON ra1.id_employees=ea1.id_employees WHERE ea1.id_employees=1001) tUs ON CONCAT(s1.id_office,'_',r1.date) = CONCAT(tUs.id_office,'_',tUs.date) UNION ALL SELECT r1.date, e1.id_employees, r1.id_department, s1.id_office, s1.startTime,CONCAT(r1.id_department,'_',s1.id_office,'_',r1.date) AS Uslov FROM tbl_schedule AS r1 INNER JOIN tbl_calendar AS k1 ON r1.date = k1.date LEFT JOIN tbl_citydepartmentoffice AS s1 ON (k1.id_cityDepartmentOffice = s1.Id_cityDeparmentOffice AND r1.id_department = s1.id_department) INNER JOIN tbl_employees AS e1 ON r1.id_employees=e1.id_employees INNER JOIN ( SELECT ra1.date, ea1.id_employees, ra1.id_department, sa1.id_office, sa1.startTime FROM tbl_schedule AS ra1 INNER JOIN tbl_calendar AS ka1 ON ra1.date = ka1.date LEFT JOIN tbl_citydepartmentoffice AS sa1 ON (ka1.id_cityDepartmentOffice = sa1.Id_cityDeparmentOffice AND ra1.id_department = sa1.id_department) INNER JOIN tbl_employees AS ea1 ON ra1.id_employees=ea1.id_employees WHERE ea1.id_employees=1001) tUs ON r1.date=tUs.date AND e1.id_employees=tUs.id_employees WHERE ISNULL(s1.id_office) ORDER BY date ASC, id_department ASC