2014-02-16 91 views
-1

表1:SQL聯接查詢輸出

userid(PK)    
name     
age 

表2:

jobid(PK) 
jobname 

表3:上述

userid(FK) 
jobid(FK) 

是ERD。在表1中說我有1排。

1 - 彼得 - 40

和表2予有2行:

1 - 木匠

2 - 牧羊犬

第三表包含兩者的「交集」,一對多關係。

由於彼得有2個工作,它會有如下行。

1 - 1

1 - 2

我將如何合併2行成一個?如果我會,將展示其爲:

名稱:彼得

年齡:40

職業:木匠,牧羊人

回答

1

使用GROUP_CONCATGROUP BY

SELECT t1.name 
     ,t1.age 
     ,GROUP_CONCAT(t2.jobname SEPARATOR ',') 
FROM Table1 as t1 
JOIN Table3 as t3 ON t3.userid = t1.id 
JOIN Table2 as t2 ON t2.jobid = t3.jobid 
GROUP BY t1.id 
+0

你能幫我一個忙嗎,不知何故把它翻譯成CI曲紅黴素。 – user3205047

+0

@ user3205047這是一個不同的問題,我相信你可以自己動手:http://elislab.com/codeigniter/user-guide/database/examples.html – sashkello

+0

Thnx,我剛剛轉換它。如果我的語法錯誤,我只是要求保證,所以我馬上就會注意到。儘管如此,謝謝!爲你的答案 – user3205047