mySql unirsi a più valori in una colonna
-
25-09-2019 - |
Domanda
Ho bisogno di fare una query che crea 3 colonne che provengono da 2 tavoli che hanno le seguenti relazioni:
TABELLA 1 ha ID di colonna che si riferisce alla TABELLA 2 con colonna ID2
Nella Tabella 1 c'è una colonna chiamata utente nella tabella 2 c'è una colonna chiamata nomi
Non ci può essere 1 utente univoco, ma ci possono essere molti nomi associati a tale utente.
Se faccio la seguente ottengo tutti i dati ma l'utente colonna si ripete per ogni nome è associato. Quello che voglio è per uso di apparire unico, ma le colonne nomi compaiono con tutti i nomi associati alla colonna di utente, ma separati da virgole, come il seguente:
selezionare l'utente, nomi TABLE1 left join TABLE2 su TABLE1.id = TABLE2.id
Questo mostrerà gli utenti ripetuto ogni volta che un nome compare per quell'utente. quello che voglio è quello di apparire in questo modo:
L'UTENTE - NOMI
Cyrex - pedrox, rambo, zelda
Homeboy - Carmen, Carlos, tom, sandra
jerry - Seinfeld, Christine
ninja - soloboy
etc ....
Soluzione
Quello che state cercando è la operatore group_concat .
select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user