2011-10-04 4 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 

나는 다음을 반환하는 쿼리를 만들려고하고있다 : 나는 GROUP_CONCAT 및 CONCAT_WS에서 찾고있다

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

을, 그러나 나는 위의 결과를 반환하는 나의 시도에서 실패되었습니다. 이 문제에 대해 생각하는 사람이 있으면 가장 감사하게 생각합니다.

감사합니다.

답변

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