【发布时间】:2020-01-27 12:52:59
【问题描述】:
我有以下表格:
rooms
rid | roomname | ...
----------------------
1 | Pantry | ...
2 | Conference | ...
...
employees
eid | lastname | firstname
---------------------------
1 | Zufall | Rainer
2 | Piper | Peter
....
assignments
aid | room | employee | weekday
-------------------------------
1 | 2 | 1 | 1
2 | 2 | 1 | 2
3 | 2 | 2 | 3
4 | 2 | 1 | 4
5 | 2 | 1 | 5
6 | 1 | 2 | 1
7 | 1 | 2 | 3
8 | 1 | 2 | 5
现在我想写一个查询,按以下格式列出所有房间及其分配:
roomname | Monday | Tuesday | Wednesday | Thursday | Friday
--------------------------------------------------------------
Conference | Zufall | Zufall | Piper | Zufall | Zufall
Pantry | Piper | NULL | Piper | NULL | Piper
我写了查询
SELECT r.roomname, e.lastname AS Monday
FROM rooms AS r
LEFT JOIN assignments AS a ON r.rid = a.room AND a.weekday = 1
LEFT JOIN employees AS e ON a.employee = e.eid
什么给了我周一的所有作业,但我如何将它与其他工作日的作业结合起来?
提前致谢。 拉尔斯
【问题讨论】:
-
考虑处理表示层/应用程序级代码中的数据显示问题,假设您有(例如,作用于有序数组的简单 PHP 循环)。
-
你能给出你期望的结果吗?
-
@MohammadShehroz 他们做到了
-
@Strawberry 我看到了
标签: mysql sql join pivot left-join