Я пытаюсь получить данные из таблицы для опроса в определенном формате. Однако все мои попытки, похоже, передают БД из-за слишком большого количества соединений / слишком тяжелой работы с БД.
Мои данные выглядят так:
id, user, question_id, answer_id,
1, 1, 1, 1
3, 1, 3, 15
4, 2, 1, 2
5, 2, 2, 12
6, 2, 3, 20
Всего около 250 000 строк, и у каждого пользователя около 30 строк. Я хочу, чтобы результат выглядел так:
user0, q1, q2, q3
1, 1, NULL, 15
2, 2, 12, 20
Чтобы у каждого пользователя была одна строка в результате, каждая с отдельным столбцом для каждого ответа.
Я использую Postgres, но мне хотелось бы получить ответы на любом языке SQL, так как я мог бы перевести на Postgres.
РЕДАКТИРОВАТЬ: мне также нужно иметь возможность иметь дело с пользователями, не отвечающими на вопросы, например, в приведенном выше примере q2 для пользователя 1.