У меня пользователи и группы пользователей таблицы, подобные следующим:
пользователи
id - PK
name
timestamp
группы пользователей
user_1 - Foreign key to users id
user_2 - Foreign key to users id
user_3 - Foreign key to users id
type
У меня есть пользователь с идентификатором = 1. Я хочу выбрать все группы, которые объединяет этот пользователь, имя членов группы и тип группы пользователей . Могу ли я сделать это только одним запросом? Каков наилучший способ добиться этого?
Пример данных
пользователей
id - 1
name - Jeff
id - 2
name - Mehmet
id - 3
name - Walter
user_группы
user_1 - 1
user_2 - 2
user_3 - null
type - 1
user_1 - 1
user_2 - 2
user_3 - 3
type - 1
user_1 - 1
user_2 - 3
user_3 - null
type - 2
Как должен быть вывод:
[{
type: 1,
name: ["Jeff", "Mehmet"]
},
{
type: 1,
name: ["Jeff","Mehmet","Walter"]
},
{
type: 2,
name: ["Jeff", "Mehmet"]
}]