728x90
320x100
아래 TEST 테이블의 테이터를
HORIZONTAL(횡/가로) 에서 VERTICAL(종/세로) 로
변환해 보려고 한다.
BEFORE : TEST (HORIZONTAL), 가로 데이터
AFTER : TEST (VERTICAL), 세로 데이터
KOR, ENG, CHN 컬럼을 세로로 만들면 되므로
UNION ALL 을 통하여 세로로된 기준 테이블을 만든다.
SELECT 'KOR' AS CLASS
UNION ALL SELECT 'ENG' AS CLASS
UNION ALL SELECT 'CHN' AS CLASS
이를 가로 데이터 테이블과 조인하고, CASE WHEN 구분을 활용하여 쿼리를 완성한다.
SELECT
X.NAME,
Y.CLASS,
CASE
WHEN Y.CLASS = 'KOR' THEN X.KOR
WHEN Y.CLASS = 'ENG' THEN X.ENG
WHEN Y.CLASS = 'CHN' THEN X.CHN
END AS SCORE
FROM TEST X,
(
SELECT 'KOR' AS CLASS
UNION ALL SELECT 'ENG' AS CLASS
UNION ALL SELECT 'CHN' AS CLASS
) Y
ORDER BY NAME, CLASS DESC;
728x90
반응형
'MariaDB SQL' 카테고리의 다른 글
MariaDB Limit (0) | 2023.05.30 |
---|---|
MariaDB in (0) | 2023.05.25 |
MariaDB Like (0) | 2023.05.23 |
MariaDB Between (0) | 2023.05.22 |
MariaDB Distinct (0) | 2023.05.18 |