2
我有(工作)进入这样的表:格式的查询结果
shifts
s_id e_id start end date
1 1 06:00:00 08:00:00 2017-05-04
2 1 09:00:00 13:00:00 2017-05-02
3 1 06:20:00 15:00:00 2017-05-03
4 2 02:00:00 05:15:00 2017-05-02
5 2 12:00:00 13:00:00 2017-05-05
7 1 08:00:00 17:00:00 2017-05-01
8 1 08:00:00 17:00:00 2017-05-05
9 1 08:00:00 17:00:00 2017-05-06
10 1 08:00:00 17:00:00 2017-05-07
11 1 08:00:00 17:00:00 2017-04-30
员工表
employees
id name
1 Employee 1
2 Employee 2
3 Employee 3
5 Employee 4
6 Employee 5
与查询
select employees.id as 'emp_id',
employees.name,
shifts.date,
shifts.start,
shifts.end
from employees
left join shifts
on ((employees.id = shifts.e_id)
and (shifts.date between '2017-05-01' and '2017-05-02'))
order by employees.id, shifts.date
我的结果是这样的:
emp_id name date start end
1 Employee 1 2017-05-01 08:00:00 17:00:00
1 Employee 1 2017-05-02 09:00:00 13:00:00
2 Employee 2 2017-05-02 02:00:00 05:15:00
3 Employee 3 NULL NULL NULL
5 Employee 4 NULL NULL NULL
6 Employee 5 NULL NULL NULL
期望的最终结果(用PHP格式)应该是这样的:
2017-05-01 2017-05-02
Employee 1 08:00 - 17:00 09:00 - 13:00
Employee 2 NULL 02:00 - 05:15
Employee 3 NULL NULL
Employee 5 NULL NULL
Employee 6 NULL NULL
我只是不能想办法对其进行格式化像这样没有查询每一天或添加转变为每位员工每(因为不是每个员工都必须每天工作,所以许多空的条目)。 如果有帮助,仍然可以更改表格设置。
你已经采取MySQL尽可能;用PHP来完成剩下的工作。 –