gpt4 book ai didi

mysql - 如何为多人的日程制作一个mysql View ?

转载 作者:行者123 更新时间:2023-11-29 05:44:09 25 4
gpt4 key购买 nike

我有一个数据表来描述一个人的预定时间。看起来像这样

Name | day | start_hour | end_hour
-
Tom | Monday | 8 | 12
Tom | Weekend | 16 | 20
Dick| Weekdays | 9 | 15
Sue | Sunday | 7 | 23

我怎样才能做出这样的 View ?

Hr | M         | Tu   | W    | Th  | F    | Sa | Su
...
8 | Tom | | | | | |
9 | Tom, Dick | Dick | Dick | Dick| Dick | |
...

每天每小时的 View 以及该时间安排的人员。

最佳答案

如果您有 hours 表(1 个整数列 hour,值 0-23):

SELECT
hour,
GROUP_CONCAT(DISTINCT IF(day='Monday' OR day='Weekdays',name,null) SEPARATOR ','),
GROUP_CONCAT(DISTINCT IF(day='Tuesday' OR day='Weekdays',name,null) SEPARATOR ','),
GROUP_CONCAT(DISTINCT IF(day='Wednesday' OR day='Weekdays',name,null) SEPARATOR ','),
GROUP_CONCAT(DISTINCT IF(day='Thursday' OR day='Weekdays',name,null) SEPARATOR ','),
GROUP_CONCAT(DISTINCT IF(day='Friday' OR day='Weekdays',name,null) SEPARATOR ','),
GROUP_CONCAT(DISTINCT IF(day='Saturday' OR day='Weekend', name,null) SEPARATOR ','),
GROUP_CONCAT(DISTINCT IF(day='Sunday' OR day='Weekend', name,null) SEPARATOR ',')
FROM hours
LEFT JOIN schedule
ON start_hour <= hour AND end_hour > hour OR end_hour = 0
GROUP BY hour;

关于mysql - 如何为多人的日程制作一个mysql View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com