Я использую Postgres 9.6. У нас есть две таблицы, первая из них user
:
id | integer
name | varchar
И второй feature_flag
, который имеет внешний ключ для user
:
id | integer
user_id | integer
Я хочу создать таблицу пользователей, которая показывает (среди прочего), какие флаги функций включены пользователем - возможно, со столбцом массива для флагов функций (открытым для улучшенных предложений, например, может быть столбец для флага функции с помощью T /). F).
Таким образом, результаты могут выглядеть следующим образом:
id,name,flags
1,foo,"[1,3]"
2,bar,"[1,2]"
Или вот так:
id,name,flag_1,flag_2,flag_3
1,foo,T,F,T
2,bar,T,T,F
Как мне это сделать? Я знаю, как получить строку для каждого флага на пользователя:
SELECT u.*, feature_flags
FROM "user" u
OUTER JOIN feature_flag f on f.user_id=u.id
Но тогда как мне повернуть его в вышеприведенное?