我有一个表,其中包含有以下行的类中的学生注册:
Enrollment_id | Student_id | ... | Day | start_time | end_time| Location
对于一个注册了saymath101的学生来说,比如周一到周二下午2点到4点,周四下午4点到5点,表中会有以下数据。
1 | x | 'Monday' | 14:00:00 | 16:00:00 | 'Class Room x'
1 | x | 'Tuesday' | 14:00:00 | 16:00:00 | 'Class Room x'
1 | x | 'Thursday' | 16:00:00 | 17:00:00 | 'Class Room x'
我需要为此创建一个导出,将此学生注册的格式设置为:
Student_id | ... | M | T | W | T | F | Time | Location
x | ... | Y | Y | N | N | N | '14:00:00 - 16:00:00 | 'Class Room X'
x | ... | N | N | N | Y | N | '16:00:00 - 17:00:00 | 'Class Room X'
所以按学号,一些课程信息,然后按时间分组是很重要的。一旦分组,它将创建本周一/周二等。列,如果当天有该类,则输入y/n。这也是由特定的时间决定的,所以同一个班级在不同的日子可能有不同的时间(即实验室和课堂讲座),这些时间可能是不同的行。
正在寻找有关如何将其作为子查询编写的帮助。很乐意提供关于表或其他表的附加信息。不过,这件事让我很为难,我甚至不确定这是否可能。目前,这是在Python API中使用SQLalCyy完成的,太好了!
2条答案
按热度按时间rnmwe5a21#
你可以使用下面的case表达式。
基于样本数据的结果集
kulphzqa2#
我认为您需要条件聚合:
因为你用的是postgres,所以我建议你每天使用booleans而不是字符。结果是更简单的: