unpivot ==================================================================================================== 개요 ---------------------------------------------------------------------------------------------------- 이 명령어는 pivot에 대칭되는 명령어 입니다. 타입 ---------------------------------------------------------------------------------------------------- TEXT, INTEGER, BIGINT, REAL, DATE, TIMESTAMP 설명 ---------------------------------------------------------------------------------------------------- 가로로 출력되는 열(COLUMN) 데이터를 세로로 돌려 행(ROW)으로 출력할 수 있습니다. - 내부 동작 설명 1. 선택한 모든 컬럼(attribute)과 그에 해당하는 값(value)의 pair(attribute-value pairs) 를 생성합니다. 2. col_id(attribute) 와 col_value(value) 라는 새로운 두 컬럼을 생성합니다. 3. attribute-value pairs 를 col_id, col_value 에 입력합니다. Parameters ---------------------------------------------------------------------------------------------------- .. code-block:: none ... | unpivot COL (COL)* .. list-table:: :header-rows: 1 * - 이름 - 설명 - 필수/옵션 * - COL - 컬럼명을 의미합니다. - 필수 Examples ---------------------------------------------------------------------------------------------------- - 예제용 데이터 모양 입니다. .. list-table:: :header-rows: 1 * - A - B - C - D * - 가 - 1 - 10.123 - ab * - 나 - 2 - 20.123 - ab * - 다 - 3 - 30.123 - ef * - 라 - 4 - 40.123 - gh - 컬럼명 A를 기준으로 B를 unpivot 시키는 예제입니다. .. code-block:: none ... | unpivot A B .. list-table:: :header-rows: 1 * - A - col_id - col_value * - 가 - B - 1 * - 나 - B - 2 * - 다 - B - 3 * - 라 - B - 4 - 컬럼명 A를 기준으로 B,C,D를 unpivot 시키는 예제입니다. .. code-block:: none ... | unpivot A B,C,D .. list-table:: :header-rows: 1 * - A - col_id - col_value * - 가 - B - 1 * - 가 - C - 10.123 * - 가 - D - ab * - 나 - B - 2 * - 나 - C - 20.123 * - 나 - D - cd * - 다 - B - 3 * - 다 - C - 30.123 * - 다 - D - ef * - 라 - B - 4 * - 라 - C - 40.123 * - 라 - D - gh