2011-10-04 54 views
0

我有兩個MySQL表,一個上市文章的名字,其他上市每篇文章相關的作者,內容如下:串聯值,其中在一個表中的多個行與一個行中的另一個表

article_id  title 
======================= 
     1   art1 
     2   art2 
     3   blob 


    article_id  name  surname 
===================================== 
     1   jack  smith 
     1   jill  jones 
     1   rob  edgar 
     2   billy  bryce 
     3   dick  bonsor 
     3   jeff  kucick 

我試圖創建一個查詢,將返回以下:

article_id  title     author 
========================================================= 
     1   art1  jack smith, jill jones, rob edgar 
     2   art2    billy bryce 
     3   blob   dick bonsor, jeff kucick 

我一直在尋找GROUP_CONCAT和CONCAT_WS,但我一直在我試圖返回上述結果是不成功的。如果您對此有任何想法,我將非常感激!

非常感謝。

回答

0
select 
    a.article_id, 
    a.title, 
    group_concat(concat(p.name, ' ', p.surname)) as author 
from 
    article a 
    inner join author p on p.article_id = a.article_id 
group by 
    a.article_id, 
    a.title 

,或者,如果你想使用CONCAT_WS:

select 
    a.article_id, 
    a.title, 
    group_concat(concat_ws(' ', p.name, p.surname)) as author 
from 
    article a 
    inner join author p on p.article_id = a.article_id 
group by 
    a.article_id, 
    a.title 
+0

喜,哇,響應速度快!謝謝!我不知道誰低估了你......讓我試試你的答案,看看會發生什麼......非常感謝! – DrNoFruit

+0

令人難以置信的是,真是太棒了,非常感謝!我知道會有辦法做到這一點,但它略微超出了我目前的mysql能力! – DrNoFruit

+0

那麼,你已經找到了正確的功能。 :) 很高興我能幫上忙。 – GolezTrol

相關問題