Eu tenho essas 2 tabelas:
table1:
id | name
---------
1 | john
2 | jack
table2:
id | profile_id | institution
-----------------------------
1 | 1 | SFU
2 | 1 | UBC
3 | 2 | BU
4 | 2 | USC
5 | 2 | SFU
Se eu quiser obter todas as informações sobre um usuário usando seu ID de usuário, posso simplesmente juntá-los usando isto:
select a.id, a.name, b.institution from table1 a, table2 b
where a.id = USER_ID and a.id = b.profile_id
que para USER_ID = 1 retorna:
id | name | institution
-----------------------
1 | john | SFU
1 | john | UBC
O que eu preciso é, na verdade, 1 linha única em vez de várias linhas. É de alguma forma possível obter algo assim? (Eu não vi nada para fazer isso, mas não tenho certeza)
id | name | institution
-----------------------
1 | john | [SFU, UBC]
Você pode usar a função GROUP_CONCAT
ou com sua consulta original
De uma chance !!!