Я пытаюсь понять, как работать с этим сценарием в mySQL -
Есть три таблицы - t_student, t_teacher, t_result
структура таблиц (в основном столбцы в каждой из них) следующая:
t_student:
s_id, s_name, s1, s2, s3
где s_id — первичный ключ, s_name — имя ученика, (s1, s2, s3) — такие предметы, как математика, физика, химия и т. д.
t_teacher:
t_id, t_name, s1, s2, s3
где t_id — первичный ключ, t_name — имя учителя, (s1, s2, s3) — такие предметы, как математика, физика, химия и т. д.
t_result:
r_id, s_name, t_name, count
где r_id — первичный ключ, s_name — имя ученика (из таблицы учеников), t_name — имя учителя (из таблицы учителей), а count дает количество (подробнее об этом чуть позже)
Теперь я хотел бы сделать следующее:
в таблице учеников и учителей может быть любое количество записей, а в таблице результатов на данный момент их нет. Теперь, используя mySQL, я хотел бы отсканировать содержимое таблицы учеников, и для каждой записи в этой таблице я хотел бы получить:
s1, а затем сравните значение со столбцами (s1,s2,s3) в таблице учителей s2, а затем сравните значение со столбцами (s1,s2,s3) в таблице учителей s3, а затем сравните значение с (s1,s2,s3) столбцы в учительской таблице
и получить количество совпадающих значений и сохранить в счете.
Для большей ясности, если для первой записи в таблице учеников s1, s2 и s3 — это «физика», «химия» и «математика», а если первая запись в таблице учителей — это «математика», «физика», «компьютер». ", тогда в этом случае student.s1 совпадает с учителем.s2 - так что теперь count равен 1. тогда student.s2 сопоставляется с s1, s2, s3 в таблице учителей, но совпадение равно 0, поэтому count остается равным 1; снова student.s3 сопоставляется с s1, s2, s3 в таблице учителей, на этот раз он совпадает с учителем.s1, поэтому счетчик увеличивается до 2. Таким образом, в конце сравнения первой записи в таблице учеников с первой записью таблицы учителей , я получаю количество = 2. Теперь я бы вставил строку в таблицу результатов с именем ученика, именем учителя и полученным таким образом счетом.
В основном я хочу получить количество совпадений s1, s2, s3 между таблицей учеников и таблицей учителей для каждой строки в таблице учеников, а затем поместить это в таблицу результатов.
Я знаю только основные операции в mysql, такие как выбор, вставка, удаление и т. д. Я предполагаю, что для такой операции потребуется нечто большее, что-то вроде plsql и хранимой процедуры?
К вашему сведению, я использую phpmyadmin, и таблицы хранятся там. Я бы использовал php для получения результатов из таблицы и выполнения этих запросов.
Пожалуйста, дайте мне знать подход к этому.
Спасибо!