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 ....

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top