Как сгруппировать данные из другой таблицы в одно поле?
Подскажите как правильно это сделать
Ожидается:
| username | name | social |
|---|---|---|
| admin | admin | {'telegram': 't.me', 'facebook': 'facebook.com'...} |
Получаю:
| username | surname | id | vk | github | telegram | ||
|---|---|---|---|---|---|---|---|
| admin | admin | 1 | vk.com | instagram.com | facebook.com | github.com | t.me |
Код:
SELECT user.username, user.surname, `social`.*
GROUP_CONCAT(social)
-- social.facebook,
-- social.github,
-- social.instagram,
-- social.whatsapp,
-- social.vk)
FROM user, social
GROUP BY social.id;
Таблицы:
class Social(BaseModel):
id = AutoField()
vk = CharField()
instagram = CharField()
facebook = CharField()
whatsapp = CharField()
github = CharField()
telegram = CharField()
class Personal_Information(BaseModel):
id = AutoField()
social = ForeignKeyField(Social, related_name='users')
class User(BaseModel):
id = AutoField()
username = CharField(unique=True)
personal_information = ForeignKeyField(Personal_Information, related_name='users')