Я не гуру MySQL, но довольно хорошо разбираюсь в базовых вещах. Спасибо за ваш отзыв.
У меня есть две таблицы user
и favorite
. Каждый пользователь может иметь несколько уникальных избранных.
пользователь таблицы
[ user_id + name ]
100 | Sally
фаворит стола
[ fav_id + user_id + fav_key + fav_val ]
1 | 100 | icecream | mint
2 | 100 | candybar | snickers
3 | 100 | color | red
Я хочу создать оператор SELECT
, который превратит избранные пользователя в столбцы, используя значение fav_key
в качестве заголовка столбца. * Проблема в том, что я никогда не узнаю, какое значение будет fav_val
, поскольку они вводятся пользователем, поэтому имена столбцов должны генерироваться динамически.
SELECT ...
[ user_id + name + fav_icecream + fav_candybar + fav_color ]
100 | Sally | mint | snickers | red
С некоторой отдаленной мыслью о производительности - одна из проблем заключается в том, что я не хочу запускать два оператора SELECT
для получения пользовательских данных и пользовательских фаворитов (плюс мне нравится идея иметь столбцы динамически назван таким образом).
UPDATE
Так что это называется, разворот, отлично.
Что если я никогда не узнаю, что это за значения? Мне нужно динамически генерировать столбцы из запроса на избранное.