2016-06-27 3 views
0

내가 MySQL의에서 행에 동적 열에서 다음 데이터베이스 테이블을 변환하고 싶습니다 :MySQL 피벗 테이블 - 동적 열을 행으로 변환하는 방법?

는 이미 stackoverflow.com에서뿐만 아니라이 좋은 예 here에 깊은 살펴 보았다하지만 경우 아무도 내 요구 사항과 일치하지 않습니다. 그것은 동적 될 경우 (이 동적으로 변경하기 때문에이 값을 모르는 '색상'또는 '크기') 링크에서 표시
위의 예는 내 요구 사항을 일치합니다 : 그래서이

SELECT 
item_id, 
MAX(IF(property_name = 'color', value, NULL)) AS color, 
MAX(IF(property_name = 'size', value, NULL)) AS size, 
... 
... 
... 
FROM 
properties 
GROUP BY 
item_id; 


01 : 다음과 같이해야 내 SQL 쿼리의 결과는 지금

id | customer_id | customer_tbl_id | customer_tbl_col_name 
1 |   1 |    1 | CustomerColName_1 
2 |   1 |    1 | CustomerColName_2 
3 |   1 |    1 | CustomerColName_3 
4 |   1 |    2 | CustomerColName_4 
5 |   1 |    2 | CustomerColName_5 
6 |   2 |    1 | CustomerColName_6 
7 |   2 |    1 | CustomerColName_7 

: 내 데이터베이스 테이블입니다

답변

0

사용 GROUP_CONCAT 내가 찾던 정확히 무엇을

SELECT customer_id, customer_tbl_id, GROUP_CONCAT(customer_tbl_col_name) as customer_tbl_col_name 
FROM table 
GROUP BY customer_id , customer_tbl_id 
+0

. 고맙습니다. 당신은 나에게 많은 시간을 절약했다! – njlqay

+0

두 필드를 결합하려면 : GROUP_CONCAT (DISTINCT concat (field1, ",", "field2)) – tyro