By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
| version() |
|---|
| 10.3.31-MariaDB |
| Example |
|---|
| Use CTE to perform STRING_SPLIT in the CSV column |
| Date | subj1 | subj2 | subj3 | stname |
|---|---|---|---|---|
| 2021-08-16 | Subj1- | Subj2- | Subj3- | stname1 |
| 2021-08-16 | Subj1- | Subj3- | Subj2- | stname1 |
| 2021-08-16 | Subj1- | Subj2- | Subj3- | stname2 |
| 2021-08-17 | Subj2- | Subj1- | Subj3- | stname1 |
| 2021-08-17 | Subj2- | Subj1- | Subj1- | stname2 |
| 2021-08-17 | Subj1- | Subj4- | Subj2- | stname2 |
| 2021-08-18 | Subj1- | Subj3- | Subj2- | stname1 |
| 2021-08-18 | Subj4- | Subj2- | Subj1- | stname2 |
| 2021-08-18 | Subj3- | Subj1- | Subj4- | stname1 |
| 2021-08-19 | Subj1- | Subj3- | Subj2- | stname1 |
| 2021-08-19 | Subj2- | Subj1- | Subj4- | stname1 |
| 2021-08-16 | Subj1- | Subj2- | Subj3- | stname2 |
| 2021-08-16 | Subj1- | Subj3- | Subj2- | stname4 |
| 2021-08-16 | Subj1- | Subj2- | Subj3- | stname3 |
| 2021-08-17 | Subj2- | Subj1- | Subj3- | stname3 |
| 2021-08-17 | Subj2- | Subj1- | Subj1- | stname1 |
| 2021-08-17 | Subj1- | Subj4- | Subj2- | stname3 |
| 2021-08-18 | Subj1- | Subj3- | Subj2- | stname2 |
| 2021-08-18 | Subj4- | Subj2- | Subj1- | stname3 |
| 2021-08-18 | Subj3- | Subj1- | Subj4- | stname4 |
| 2021-08-19 | Subj1- | Subj3- | Subj2- | stname4 |
| 2021-08-19 | Subj2- | Subj1- | Subj4- | stname3 |
| 2021-08-16 | Subj1- | Subj2- | Subj3- | stname3 |
| 2021-08-16 | Subj1- | Subj3- | Subj2- | stname2 |
| 2021-08-16 | Subj1- | Subj2- | Subj3- | stname5 |
| 2021-08-17 | Subj2- | Subj1- | Subj3- | stname5 |
| 2021-08-17 | Subj2- | Subj1- | Subj1- | stname4 |
| 2021-08-17 | Subj1- | Subj4- | Subj2- | stname5 |
| 2021-08-18 | Subj1- | Subj3- | Subj2- | stname3 |
| 2021-08-18 | Subj4- | Subj2- | Subj1- | stname5 |
| 2021-08-18 | Subj3- | Subj1- | Subj4- | stname5 |
| 2021-08-19 | Subj1- | Subj3- | Subj2- | stname2 |
| 2021-08-19 | Subj2- | Subj1- | Subj4- | stname5 |
| Example |
|---|
| Normalize Subject columns - with STRING_SPLIT |
| Date | subj | stname |
|---|---|---|
| 2021-08-16 | Subj1- | stname1 |
| 2021-08-16 | Subj1- | stname1 |
| 2021-08-16 | Subj1- | stname2 |
| 2021-08-17 | Subj2- | stname1 |
| 2021-08-17 | Subj2- | stname2 |
| 2021-08-17 | Subj1- | stname2 |
| 2021-08-18 | Subj1- | stname1 |
| 2021-08-18 | Subj4- | stname2 |
| 2021-08-18 | Subj3- | stname1 |
| 2021-08-19 | Subj1- | stname1 |
| 2021-08-19 | Subj2- | stname1 |
| 2021-08-16 | Subj1- | stname2 |
| 2021-08-16 | Subj1- | stname4 |
| 2021-08-16 | Subj1- | stname3 |
| 2021-08-17 | Subj2- | stname3 |
| 2021-08-17 | Subj2- | stname1 |
| 2021-08-17 | Subj1- | stname3 |
| 2021-08-18 | Subj1- | stname2 |
| 2021-08-18 | Subj4- | stname3 |
| 2021-08-18 | Subj3- | stname4 |
| 2021-08-19 | Subj1- | stname4 |
| 2021-08-19 | Subj2- | stname3 |
| 2021-08-16 | Subj1- | stname3 |
| 2021-08-16 | Subj1- | stname2 |
| 2021-08-16 | Subj1- | stname5 |
| 2021-08-17 | Subj2- | stname5 |
| 2021-08-17 | Subj2- | stname4 |
| 2021-08-17 | Subj1- | stname5 |
| 2021-08-18 | Subj1- | stname3 |
| 2021-08-18 | Subj4- | stname5 |
| 2021-08-18 | Subj3- | stname5 |
| 2021-08-19 | Subj1- | stname2 |
| 2021-08-19 | Subj2- | stname5 |
| 2021-08-16 | Subj2- | stname1 |
| 2021-08-16 | Subj3- | stname1 |
| 2021-08-16 | Subj2- | stname2 |
| 2021-08-17 | Subj1- | stname1 |
| 2021-08-17 | Subj1- | stname2 |
| 2021-08-17 | Subj4- | stname2 |
| 2021-08-18 | Subj3- | stname1 |
| 2021-08-18 | Subj2- | stname2 |
| 2021-08-18 | Subj1- | stname1 |
| 2021-08-19 | Subj3- | stname1 |
| 2021-08-19 | Subj1- | stname1 |
| 2021-08-16 | Subj2- | stname2 |
| 2021-08-16 | Subj3- | stname4 |
| 2021-08-16 | Subj2- | stname3 |
| 2021-08-17 | Subj1- | stname3 |
| 2021-08-17 | Subj1- | stname1 |
| 2021-08-17 | Subj4- | stname3 |
| 2021-08-18 | Subj3- | stname2 |
| 2021-08-18 | Subj2- | stname3 |
| 2021-08-18 | Subj1- | stname4 |
| 2021-08-19 | Subj3- | stname4 |
| 2021-08-19 | Subj1- | stname3 |
| 2021-08-16 | Subj2- | stname3 |
| 2021-08-16 | Subj3- | stname2 |
| 2021-08-16 | Subj2- | stname5 |
| 2021-08-17 | Subj1- | stname5 |
| 2021-08-17 | Subj1- | stname4 |
| 2021-08-17 | Subj4- | stname5 |
| 2021-08-18 | Subj3- | stname3 |
| 2021-08-18 | Subj2- | stname5 |
| 2021-08-18 | Subj1- | stname5 |
| 2021-08-19 | Subj3- | stname2 |
| 2021-08-19 | Subj1- | stname5 |
| 2021-08-16 | Subj3- | stname1 |
| 2021-08-16 | Subj2- | stname1 |
| 2021-08-16 | Subj3- | stname2 |
| 2021-08-17 | Subj3- | stname1 |
| 2021-08-17 | Subj1- | stname2 |
| 2021-08-17 | Subj2- | stname2 |
| 2021-08-18 | Subj2- | stname1 |
| 2021-08-18 | Subj1- | stname2 |
| 2021-08-18 | Subj4- | stname1 |
| 2021-08-19 | Subj2- | stname1 |
| 2021-08-19 | Subj4- | stname1 |
| 2021-08-16 | Subj3- | stname2 |
| 2021-08-16 | Subj2- | stname4 |
| 2021-08-16 | Subj3- | stname3 |
| 2021-08-17 | Subj3- | stname3 |
| 2021-08-17 | Subj1- | stname1 |
| 2021-08-17 | Subj2- | stname3 |
| 2021-08-18 | Subj2- | stname2 |
| 2021-08-18 | Subj1- | stname3 |
| 2021-08-18 | Subj4- | stname4 |
| 2021-08-19 | Subj2- | stname4 |
| 2021-08-19 | Subj4- | stname3 |
| 2021-08-16 | Subj3- | stname3 |
| 2021-08-16 | Subj2- | stname2 |
| 2021-08-16 | Subj3- | stname5 |
| 2021-08-17 | Subj3- | stname5 |
| 2021-08-17 | Subj1- | stname4 |
| 2021-08-17 | Subj2- | stname5 |
| 2021-08-18 | Subj2- | stname3 |
| 2021-08-18 | Subj1- | stname5 |
| 2021-08-18 | Subj4- | stname5 |
| 2021-08-19 | Subj2- | stname2 |
| 2021-08-19 | Subj4- | stname5 |
| Example |
|---|
| Group Normalized Set, to verify the expected PIVOT aggregate expression |
| Showing Attendance for each day |
| As well as an indication if there is no matching attendence record at all |
| Date | subj | stname | present |
|---|---|---|---|
| 2021-08-16 | Subj1- | stname1 | - yes - |
| 2021-08-16 | Subj1- | stname1 | - yes - |
| 2021-08-16 | Subj1- | stname2 | - yes - |
| 2021-08-16 | Subj1- | stname2 | - yes - |
| 2021-08-16 | Subj1- | stname2 | - yes - |
| 2021-08-16 | Subj1- | stname3 | - yes - |
| 2021-08-16 | Subj1- | stname3 | - yes - |
| 2021-08-16 | Subj1- | stname4 | - yes - |
| 2021-08-16 | Subj1- | stname5 | - yes - |
| 2021-08-16 | Subj2- | stname1 | - yes - |
| 2021-08-16 | Subj2- | stname1 | - yes - |
| 2021-08-16 | Subj2- | stname2 | - yes - |
| 2021-08-16 | Subj2- | stname2 | - yes - |
| 2021-08-16 | Subj2- | stname2 | - yes - |
| 2021-08-16 | Subj2- | stname3 | - yes - |
| 2021-08-16 | Subj2- | stname3 | - yes - |
| 2021-08-16 | Subj2- | stname4 | - yes - |
| 2021-08-16 | Subj2- | stname5 | - yes - |
| 2021-08-16 | Subj3- | stname1 | - yes - |
| 2021-08-16 | Subj3- | stname1 | - yes - |
| 2021-08-16 | Subj3- | stname2 | - yes - |
| 2021-08-16 | Subj3- | stname2 | - yes - |
| 2021-08-16 | Subj3- | stname2 | - yes - |
| 2021-08-16 | Subj3- | stname3 | - yes - |
| 2021-08-16 | Subj3- | stname3 | - yes - |
| 2021-08-16 | Subj3- | stname4 | - yes - |
| 2021-08-16 | Subj3- | stname5 | - yes - |
| 2021-08-17 | Subj1- | stname1 | - no - |
| 2021-08-17 | Subj1- | stname1 | - no - |
| 2021-08-17 | Subj1- | stname1 | - no - |
| 2021-08-17 | Subj1- | stname2 | - yes - |
| 2021-08-17 | Subj1- | stname2 | - yes - |
| 2021-08-17 | Subj1- | stname2 | - yes - |
| 2021-08-17 | Subj1- | stname3 | null |
| 2021-08-17 | Subj1- | stname3 | null |
| 2021-08-17 | Subj1- | stname4 | null |
| 2021-08-17 | Subj1- | stname4 | null |
| 2021-08-17 | Subj1- | stname5 | null |
| 2021-08-17 | Subj1- | stname5 | null |
| 2021-08-17 | Subj2- | stname1 | - no - |
| 2021-08-17 | Subj2- | stname1 | - no - |
| 2021-08-17 | Subj2- | stname2 | - yes - |
| 2021-08-17 | Subj2- | stname2 | - yes - |
| 2021-08-17 | Subj2- | stname3 | null |
| 2021-08-17 | Subj2- | stname3 | null |
| 2021-08-17 | Subj2- | stname4 | null |
| 2021-08-17 | Subj2- | stname5 | null |
| 2021-08-17 | Subj2- | stname5 | null |
| 2021-08-17 | Subj3- | stname1 | - no - |
| 2021-08-17 | Subj3- | stname3 | null |
| 2021-08-17 | Subj3- | stname5 | null |
| 2021-08-17 | Subj4- | stname2 | - yes - |
| 2021-08-17 | Subj4- | stname3 | null |
| 2021-08-17 | Subj4- | stname5 | null |
| 2021-08-18 | Subj1- | stname1 | - yes - |
| 2021-08-18 | Subj1- | stname1 | - yes - |
| 2021-08-18 | Subj1- | stname2 | - yes - |
| 2021-08-18 | Subj1- | stname2 | - yes - |
| 2021-08-18 | Subj1- | stname3 | null |
| 2021-08-18 | Subj1- | stname3 | null |
| 2021-08-18 | Subj1- | stname4 | null |
| 2021-08-18 | Subj1- | stname5 | - yes - |
| 2021-08-18 | Subj1- | stname5 | - yes - |
| 2021-08-18 | Subj2- | stname1 | - yes - |
| 2021-08-18 | Subj2- | stname2 | - yes - |
| 2021-08-18 | Subj2- | stname2 | - yes - |
| 2021-08-18 | Subj2- | stname3 | null |
| 2021-08-18 | Subj2- | stname3 | null |
| 2021-08-18 | Subj2- | stname5 | - yes - |
| 2021-08-18 | Subj3- | stname1 | - yes - |
| 2021-08-18 | Subj3- | stname1 | - yes - |
| 2021-08-18 | Subj3- | stname2 | - yes - |
| 2021-08-18 | Subj3- | stname3 | null |
| 2021-08-18 | Subj3- | stname4 | null |
| 2021-08-18 | Subj3- | stname5 | - yes - |
| 2021-08-18 | Subj4- | stname1 | - yes - |
| 2021-08-18 | Subj4- | stname2 | - yes - |
| 2021-08-18 | Subj4- | stname3 | null |
| 2021-08-18 | Subj4- | stname4 | null |
| 2021-08-18 | Subj4- | stname5 | - yes - |
| 2021-08-18 | Subj4- | stname5 | - yes - |
| 2021-08-19 | Subj1- | stname1 | null |
| 2021-08-19 | Subj1- | stname1 | null |
| 2021-08-19 | Subj1- | stname2 | null |
| 2021-08-19 | Subj1- | stname3 | - yes - |
| 2021-08-19 | Subj1- | stname4 | - yes - |
| 2021-08-19 | Subj1- | stname5 | - no - |
| 2021-08-19 | Subj2- | stname1 | null |
| 2021-08-19 | Subj2- | stname1 | null |
| 2021-08-19 | Subj2- | stname2 | null |
| 2021-08-19 | Subj2- | stname3 | - yes - |
| 2021-08-19 | Subj2- | stname4 | - yes - |
| 2021-08-19 | Subj2- | stname5 | - no - |
| 2021-08-19 | Subj3- | stname1 | null |
| 2021-08-19 | Subj3- | stname2 | null |
| 2021-08-19 | Subj3- | stname4 | - yes - |
| 2021-08-19 | Subj4- | stname1 | null |
| 2021-08-19 | Subj4- | stname3 | - yes - |
| 2021-08-19 | Subj4- | stname5 | - no - |
| teach-id | teach | teacher | stname1 | stname2 | stname3 | stname4 | stname5 |
|---|---|---|---|---|---|---|---|
| 1.0 | Subj1- | Tname1 | 2021-08-18 | 2021-08-18 | 2021-08-19 | 2021-08-19 | 2021-08-18 |
| 1.2 | Subj2- | Tname2 | 2021-08-18 | 2021-08-18 | 2021-08-19 | 2021-08-19 | 2021-08-18 |
| 1.5 | Subj3- | Tname3 | 2021-08-18 | 2021-08-18 | 2021-08-16 | 2021-08-19 | 2021-08-18 |
| 2.0 | Subj4- | Tname4 | 2021-08-18 | 2021-08-18 | 2021-08-19 | null | 2021-08-18 |