问题描述
我有 3 张桌子:
Room A
Room B
Room C
8:00
9:00
10:00
11:00
Kathy Room A 9:00
John Room C 8:00
DaVon Room C 10:00
Janelly Room A 10:00
我想使用表 A 为行和表 B 为列创建一个网格,如下所示:
8:00 9:00 10:00 11:00
Room A Kathy Janelly
Room B
Room C John DaVon
如果可能,我更喜欢使用查询设计器。
解决方法
考虑访问:
Query1:这是一个 CROSSTAB 查询
TRANSFORM First(Schedule.Person) AS FirstOfPerson
SELECT Schedule.Room
FROM Hours LEFT JOIN Schedule ON Hours.Hr = Schedule.Hr
GROUP BY Schedule.Room
PIVOT Hours.Hr;
查询 2:
SELECT Rooms.Room,Query1.*
FROM Query1 RIGHT JOIN Rooms ON Query1.Room = Rooms.Room;