У меня есть три таблицы: у студентов, интересов и интереса у студентов есть cols student_id, а у имен интересов - cols Interest_id и интереса_имя_ интереса, есть cols student_id и интереса_id
.do
select interests.interest_name from `students`
inner join `interest_lookup`
on interest_lookup.student_id = students.student_id
inner join `interests`
on interests.interest_id = interest_lookup.interest_id
То, что я хочу сделать, это получить набор результатов, например
student_id | students.name | interest_a | interest_b | ...
, где имя столбца 'Interest_a' является значением в интересах. имя, а столбцы интереса_ равны 0или 1, такое, что значение равно 1, когда есть запись в Interest_lookup для данных student_id и интереса_id, и 0, если их нет.
Каждая запись в таблице интересов должна отображаться как имя столбца.
Я могу сделать это с помощью подвыборов (что очень медленно) или с помощью нескольких объединений, но оба они действительно требуют, чтобы я сначала выбрал все записи по интересам и записал динамический запрос.