mysql查询计划获取旅行

时间:2017-09-28 12:35:02

标签: mysql sql join

我做了一个我不知道如何解决它的练习。 这里有一个表格,其中有一个月的工人计划:

IDPERSONNE  DATE    IDPLACE HEURE_DEBUT HEURE_FIN
1        26/09/2017   1       08:00       08:45
1        26/09/2017   1       09:00       10:00
1        26/09/2017   2       10:00       12:00
1        26/09/2017   1       13:00       15:00
1        26/09/2017   2       15:00       17:00
1        26/09/2017   1       17:00       18:00
2        02/09/2017   3       09:00       10:00
2        02/09/2017   3       10:00       12:00
2        02/09/2017   4       13:00       18:00
2        03/09/2017   3       09:00       10:00
2        03/09/2017   3       10:00       12:00
2        03/09/2017   4       13:00       18:00

我想知道一天工人的不同旅行,他在一个地方的结束时间和他在另一个地方开始的开始时间。像这样:

IDPERSONNE  DATE    IDPLACE1    HEURE_FIN_PLACE1    IDPLACE2    HEURE_DEBUT_PLACE2
1       26/09/2017     1            10:00              2            10:00
1       26/09/2017     2            12:00              1            13:00
1       26/09/2017     1            15:00              2            15:00
1       26/09/2017     2            17:00              1            17:00
2       02/09/2017     3            12:00              4            13:00
2       03/09/2017     3            12:00              4            13:00

我尝试过这样的事情:

SELECT p1.IDPERSONNE, p1.DATE, p1.IDPLACE, max(p1.HEURE_FIN), p2.IDPLACE,     min(p2.HEURE_DEBUT)
FROM PLANNING p1
INNER JOIN PLANNING p2 on p1.IDPERSONNE=p2.IDPERSONNE and p1.DATE=p2.DATE and p1.HEURE_DEBUT < p2.HEURE_DEBUT
WHERE p1.IDPLACE <> p2.IDPLACE
GROUP BY p1.IDPERSONNE, p1.DATE

但是如果一个人在两个地方之间的一天旅行很多,我的结果只有2次旅行。

请帮助我!

提前致谢

0 个答案:

没有答案