2014-10-23 3 views
0

MySQL에서 피벗을 생성하는 데 문제가 있습니다.MySQL의 피벗 테이블

다음 표가 있습니다.

Month,id,name,partner,amount 
01,1,xx,AA,100 
01,1,xx,BB,200 

는 내가 다른 그룹을 시도이 테이블

Month,id,name,partner,amount ,partner, amount 
01,1,XX,A,100,BB,200 

에서 다음과 같은 출력을 얻을 싶어하지만 난 하나에 두 개의 행을 변환 할 수 없습니다입니다. 당신이 (만 출력 필드로 분리되지 않음) 원하는에 가까운

+0

이 DB에 비해 코드에서 할 방법 쉽게 것들 중 하나입니다 안된. – Ashalynd

답변

0

뭔가 -

SELECT MONTH, ID, NAME, 
GROUP_CONCAT(INFO ORDER BY PARTNER SEPARATOR ',') AS INFO_LIST FROM (
    SELECT MONTH, ID, NAME, PARTNER, 
    CONCAT_WS(',', PARTNER, AMOUNT) as INFO FROM <yourtable> 
) GROUP BY MONTH, ID ORDER BY MONTH, ID; 
+0

답변을 주셔서 감사합니다. 그러나 별도의 열에 데이터가 필요합니다. – Developer

+0

mysql이이 경우에 당신을 위해 할 수있는 것이 아니라 두렵습니다. 얼마나 많은 열이있을 지 미리 지정할 수없는 한. 그리고 그 경우조차도, 쿼리는 매우 서툴기 때문에 코드에서 오히려이를 수행 할 것입니다. – Ashalynd