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來完成剩下的工作。 –