gpt4 book ai didi

mysql结构在一个字段中包含两个引用

转载 作者:行者123 更新时间:2023-11-29 14:17:06 27 4
gpt4 key购买 nike

这看起来应该很容易,但我正在用头撞墙。我正在 php/mysql 中创建一个网站,当用户提取一周中的某一天时,它将列出按时间 block 分组的分配给他们的任务,例如 8-11、11-14 等。 p>

我有一个像这样设置的表,其中的字段旨在引用另一个包含任务的表。每个整数对应于任务表中的一个唯一任务。

       8-11   11-14  14-17  17-20   20-23 
Mon 1 3 4 1 2
Tues 1,3 4 5 6 7
Wed 1,2,3 5 4 8 9

正如您所看到的,有些日子会在不同时间重复执行任务(例如,周一,任务 1 在 8-11 和 17-20 时段执行)。最让我困惑的是如何设置表或连接多个表来解决具有多个任务的时间段,例如,周三 8-11 类次有三个任务:1、2 和 3。

我的问题:您能否建议最适合此情况的表结构,以及用于检索给定日期的任务的示例查询?谢谢。任何帮助是极大的赞赏。

** 编辑 ** 这是我想问的问题:查看周三 8-10 日,我如何从任务表中提取三个任务?

最佳答案

http://sqlfiddle.com/#!2/2130b/8

CREATE TABLE work_periods (work_period_id int unsigned, weekday int unsigned, description varchar(50));
CREATE TABLE tasks (task_id int unsigned, description varchar(50));
CREATE TABLE work_period_task_assignments (work_period_id int unsigned, task_id int unsigned);
INSERT INTO work_periods VALUES (1, 1, 'Mon 8-11'), (2, 1, 'Mon 11-14'), (3, 1, 'Mon 14-17');
INSERT INTO tasks VALUES (1, 'Drink Coffee'), (2, 'Make Toast'), (3, 'Do Work');
INSERT INTO work_period_task_assignments VALUES (1, 1), (1, 2), (2,3), (3,3);

SELECT p.description as period, t.description as task FROM work_periods p
INNER JOIN work_period_task_assignments wpta
ON wpta.work_period_id = p.work_period_id
INNER JOIN tasks t
ON wpta.task_id = t.task_id
WHERE p.weekday = 1;

关于mysql结构在一个字段中包含两个引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12468821/

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