CREATE TABLE activities(activityid, name);
CREATE TABLE activity_scores(activityid, studentid, score);
CREATE TABLE students (id, name);
Есть ли способ написать один запрос SELECT, который даст один результат для каждого учащегося в этом формате?
studentid | studentname | activity1_score | activity2_score | activity3_score [...]
Тривиально выполнить несколько запросов:
for each studentid in "select id from students":
print studentid
for each activity in "select activityid from activities":
select score from activity_scores where studentid = studentid
print score
(псевдокод, я знаю, что это не точно)
Конечно, есть способ создать этот результат с помощью одного запроса SELECT, верно?