본문 바로가기
DB

MYSQL 여러 ROW를 하나의 컬럼에 ,(콤마)로 구분하여 저장하고 View하기

by sliora 2017. 3. 15.

Table1 : A 

B_SEQ    학교         학과 

-------------------------------- 

  2      정보대       정보과 



Table2 : B 

SEQ       B_SEQ             교수

------------------------------- 

 1          2              교수1 

 2          3              교수2 

 3          2              교수3 

 4          5              교수4 


result 

B_SEQ       학교          학과          교수

------------------------------------------- 

  2        정보대        정보과        교수1, 교수3



만약 A와 B라는 테이블이 있고, B테이블의 여러 ROW를 A테이블과 JOIN하여 하나의 컬럼으로 저장하고자 할 때 사용하는 함수로는

group_concat과 group by 라는 기능을 사용하면 쉽다.


위 result처럼 결과를 나오게 하고 싶다면, 


SELECT 

A.B_SEQ, A.school, A.department ,group_concat(professor) 

FROM TABLE1 AS A  

INNER JOIN TABLE2 AS B 

ON A.B_SEQ = B.B_SEQ 

GROUP BY A.B_SEQ


이렇게 작성하면, 콤마(,)로 구분하여 여러 ROW를 하나의 컬럼으로 보여주고, VIEW를 할 수 있다.