Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 инвертированный запрос?  [new]
Юрий Епихин
Member

Откуда:
Сообщений: 1
есть 2 таблицы.
1)users со столбцами id и email (https://prnt.sc/t8ljeh)
2)answers со столбцами aid (answer ID - первичный ключ), uid (user ID - связан с users.id), question, answer. (https://prnt.sc/t8mjdy)

Нужно сформировать запрос, чтобы получилась таблица с ответами на вопросы для каждого юзера.
То есть должны быть столбцы: email, ответ на вопрос 1, ответ на вопрос 2, ответ на вопрос 3 и так далее

Мой вариант слишком груб и непрактичен

SELECT DISTINCT uid as tempuserid,
(select a FROM answers WHERE q = '1' and uid = tempuserid) AS answer1,
(select a FROM answers WHERE q = '2a' and uid = tempuserid) AS answer2,
(select a FROM answers WHERE q = '2c' and uid = tempuserid) AS answer3,
(select a FROM answers WHERE q = '3a' and uid = tempuserid) AS answer4,
(select a FROM answers WHERE q = '3b' and uid = tempuserid) AS answer5,
(select a FROM answers WHERE q = '4_1' and uid = tempuserid) AS answer6,
(select a FROM answers WHERE q = '4_2' and uid = tempuserid) AS answer7,
(select a FROM answers WHERE q = '4_3' and uid = tempuserid) AS answer8,
(select a FROM answers WHERE q = '4_4' and uid = tempuserid) AS answer9,
(select a FROM answers WHERE q = '4_5' and uid = tempuserid) AS answer10
FROM `answers`


https://prnt.sc/t8mkxx

Как будет правильнее сделать?
29 июн 20, 20:33    [22159251]     Ответить | Цитировать Сообщить модератору
 Re: инвертированный запрос?  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20482
Юрий Епихин
Как будет правильнее сделать?
Правильнее - пивотить на клиенте.
29 июн 20, 21:34    [22159261]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить