오라클을 사용할때는 어렵게 구현 했던것을 MySQL을 사용하면서 아주 쉽게 구현이 가능했다.
Row Data:1 2 3 4 5 6 7 8 9 | + -----------+----------+ | colHeader | value | + -----------+----------+ | Header1 | value 1 | + -----------+----------+ | Header2 | value 2 | + -----------+----------+ | Header3 | value 3 | + -----------+----------+ |
1 2 3 4 5 | + -----------+-----------+-----------+ | Header1 | header2 | Header3 | + -----------+-----------+-----------+ | Value 1 | value 2 | Value 3 | + -----------+-----------+-----------+ |
1 2 3 4 5 6 | SELECT t1.value AS `Header1`, t2.value AS `Header2`, t3.value AS `Header3` FROM ( SELECT * FROM table1 WHERE colHeader= 'Header1' ) t1 JOIN ( SELECT * FROM table1 WHERE colHeader= 'Header2' ) t2 JOIN ( SELECT * FROM table1 WHERE colHeader= 'Header3' ) t3; |
1 2 3 4 5 6 7 | SELECT ID, GROUP_CONCAT(if(colHeader = 'Header 1' , value, NULL )) AS 'Header 1' , GROUP_CONCAT(if(colHeader = 'Header 2' , value, NULL )) AS 'Header 2' , GROUP_CONCAT(if(colHeader = 'Header 3' , value, NULL )) AS 'Header 3' FROM myTable GROUP BY ID; |
'프로그래밍 > mysql' 카테고리의 다른 글
[MYSQL] CASE 사용법 (0) | 2019.03.21 |
---|---|
[MYSQL] explain 처럼 자르기 (0) | 2019.03.21 |
[MYSQL] 날짜관련 (0) | 2019.03.21 |
[MYSQL] Replication 관리방법 (0) | 2019.03.21 |
[MYSQL] UPDATE 병렬처리 방법 (0) | 2019.03.21 |