안녕하세요 데이터베이스를 열심히 공부중인 초보입니다.
다름이 아니라 체력 측정 데이터 관련 DB 설계 중 궁금한 것이 있어서요.
다중 ROW로 검색된 데이터를 단일행으로 표현하고 싶은데 통 모르겠네요 ㅡㅡ;;;
DB는 MYSQL 사용중이구요.
일단 측정 데이터 테이블은 아래와 같은 형태(표-1) 입니다.
(표-1)
측정일 | 사용자번호 | 측정 항목 | 데이터 |
11-04 | 1 | A | a1 |
11-04 | 2 | A | a2 |
11-04 | 1 | C | c1 |
11-04 | 4 | B | b4 |
11-04 | 1 | B | b1 |
11-04 | 4 | C | c4 |
이를 아래와 같은 형태(표-2)로 표현하려고 합니다.
(표-2)
측정일 | 사용자번호 | A | B | C |
11-04 | 1 | a1 | b1 | c1 |
11-04 | 2 | a2 | ||
11-04 | 3 | b4 | c4 |
측정 데이터들은 한 사람에 대해 특정 측정일에 측정한 한 항목 데이터를 하나의 ROW로 저장합니다.
홍길동이라는 사람이 11월 04일에 A,B,C 항목을 측정하였다면 3개의 ROW가 되는 것이죠.
표-1 을 표-2와 같은 형태로 쿼리를 사용하여 가능한지요?
찾아 보니 union all을 사용거나 concat을 사용할 수 있을 것 같은데
1. concat의 경우 구분자를 이용하여 구분 후 다시 파싱을 해야하고
2. union all의 경우 항목이 맞아 질 경우 속도 부분에서 과연 올바르게 사용하는 것인지 .. 잘 .. 모르겠습니다. ㅠㅠ
고수님들 조언 부탁드려요.