add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table subjects(subjectid int primary key,subjectname varchar (30));
insert into subjects values(1,'sub1');
insert into subjects values(2,'sub2');
insert into subjects values(3,'sub3');
insert into subjects values(4,'sub4');
insert into subjects values(5,'sub5');
insert into subjects values(6,'sub6');
SELECT * FROM subjects;
subjectid subjectname
1 sub1
2 sub2
3 sub3
4 sub4
5 sub5
6 sub6
create table Days(dayid int primary key, days varchar(30));
insert into Days values (1,'mon');
insert into Days values (2,'tue');
insert into Days values (3,'wed');
insert into Days values (4,'thu');
insert into Days values (5,'fri');
insert into Days values (6,'sat');
SELECT * FROM Days;
dayid days
1 mon
2 tue
3 wed
4 thu
5 fri
6 sat
create table timetable (days varchar(30),
slot1 varchar(10),
slot2 varchar(10),
slot3 varchar(10),
slot4 varchar(10),
slot5 varchar(10),
slot6 varchar(10));
INSERT INTO timetable (days)
SELECT days
FROM Days;
UPDATE timetable
JOIN Days ON timetable.days = Days.days
JOIN subjects ON Days.dayid MOD 6 = (subjects.subjectid + 0) MOD 6
SET timetable.slot1 = subjects.subjectname;
UPDATE timetable
JOIN Days ON timetable.days = Days.days
JOIN subjects ON Days.dayid MOD 6 = (subjects.subjectid + 1) MOD 6
SET timetable.slot2 = subjects.subjectname;
UPDATE timetable
JOIN Days ON timetable.days = Days.days
JOIN subjects ON Days.dayid MOD 6 = (subjects.subjectid + 2) MOD 6
SET timetable.slot3 = subjects.subjectname;
UPDATE timetable
JOIN Days ON timetable.days = Days.days
JOIN subjects ON Days.dayid MOD 6 = (subjects.subjectid + 3) MOD 6
SET timetable.slot4 = subjects.subjectname;
UPDATE timetable
JOIN Days ON timetable.days = Days.days
JOIN subjects ON Days.dayid MOD 6 = (subjects.subjectid + 4) MOD 6
SET timetable.slot5 = subjects.subjectname;
UPDATE timetable
JOIN Days ON timetable.days = Days.days
JOIN subjects ON Days.dayid MOD 6 = (subjects.subjectid + 5) MOD 6
SET timetable.slot6 = subjects.subjectname;
SELECT * FROM timetable;
days slot1 slot2 slot3 slot4 slot5 slot6
mon sub1 sub6 sub5 sub4 sub3 sub2
tue sub2 sub1 sub6 sub5 sub4 sub3
wed sub3 sub2 sub1 sub6 sub5 sub4
thu sub4 sub3 sub2 sub1 sub6 sub5
fri sub5 sub4 sub3 sub2 sub1 sub6
sat sub6 sub5 sub4 sub3 sub2 sub1