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 |