MySQL

2011-01-05 21 views
5

yapamıyor gereken bir sütunda birden çok değeri olan birleştirme aşağıdaki ilişkiler 2 tablolardan gelen 3 sütunlar oluşturur, bir sorgu:MySQL

TABLO 1 sütun ID2

ile TABLO 2 ilişkindir sütun numarası vardır TABLO 1 'de

bir isim

adlandırılan sütun 1 benzersiz kullanıcı olabilir, ancak bu kullanıcı ile ilişkili birçok isim olabilir vardır TABLO 2, kullanıcı adı verilen bir sütun bulunmaktadır.

Aşağıdakileri yaparsam, tüm verileri alırım ancak kullanıcı sütunu, ilişkilendirdiği her ad için kendisini yineler. İstediğim şey benzersiz görünmek içindir, ancak ad sütunları kullanıcı sütunuyla ilişkilendirilmiş ancak virgülle ayrılmış tüm adlarla birlikte görünür, örneğin aşağıdaki gibi:

kullanıcı seçin, TABLE1 adından sola TABLE2 üzerindeki adlar TABLE1.id = TABLE2.id

Bu, kullanıcılar için bir kullanıcı adının görüntülendiği her zaman yinelenen kullanıcıları gösterir. Ne istediğim böyle görünmesini geçerli:

KULLANICI - İSİMLERİ
cyrex - pedrox, rambo, Zelda
ev çocuğum - carmen Carlos, tom, Sandra
jerry - seinfeld, Christine
ninja - soloboy

vb ....

cevap

11

Aradığın şey GROUP_CONCAT işleci.

select user, GROUP_CONCAT(names SEPARATOR ',') 
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id 
group by user 
+1

Bu çok iyi bir yanıttır. çok teşekkürler eric. –