如何在MySQL中创建交叉表查询

时间:2018-09-29 22:01:17

标签: mysql crosstab

我正在尝试安排一部升降机轮换工作,该工作可以显示在我的网站页面上,因此提供和接收升降机的人可以看到谁在接谁,何时接机。我有四个MySQL表,分别存储驱动程序,乘客,需要日期升降机的详细信息(日期并非总是固定的),然后是哪个驱动程序在哪个日期为哪个乘客提供升降机:

Drivers
ID    Name       Phone
1     Driver1    11111
2     Driver2    22222
3     Driver3    33333

Passengers
ID   Name          Address
1    PassengerA    TownA
2    PassengerB    TownB
3    PassengerC    TownC

LiftDates
ID    Date
1     29 Sep
2     06 Oct
3     14 Oct

Lifts
ID   LiftDateID  PassengerID DriverID
1    1           1           1
2    1           2           4
3    1           3           2
4    2           1           2
5    2           2           6
6    2           3           3
7    3           1           5
8    3           2           1
9    3           3           6

想法是将结果数据显示在一个表格中,左侧是乘客,顶部是升降机日期,然后是交叉路口的驾驶员,所以类似:

            29 Sep    06 Oct    13 Oct
PassengerA  Driver1   Driver2   Driver5  
PassengerB  Driver4   Driver6   Driver1  
PassengerC  Driver2   Driver3   Driver6  

我不确定如何创建必要的SQL以从这些表中产生所需的输出。我假设这将是某种交叉表查询?

0 个答案:

没有答案