앞서 406쪽 42번 질문에 답변해주신거 읽었는데 이해가 안돼서요...

42번 문제에 나온 테이블이고 이 테이블을 토대로 테이블을 만든후에
문제에서 주어진 sql문을 입력했는데
[제가 sql 실행할때 작성한 내용 :
CREATE TABLE SALES_1Q (
SEQ NUMBER,
PLACE_ID VARCHAR2(20),
MONTH_CD VARCHAR2(10),
SALES_AMT NUMBER
);
INSERT INTO SALES_1Q VALUES (1, 'PLACE_1', 'JAN', 100);
INSERT INTO SALES_1Q VALUES (2, 'PLACE_2', 'FEB', 150);
INSERT INTO SALES_1Q VALUES (3, 'PLACE_3', 'MAR', 200);
INSERT INTO SALES_1Q VALUES (4, 'PLACE_4', 'JAN', 300);
INSERT INTO SALES_1Q VALUES (5, 'PLACE_5', 'FEB', 350);
INSERT INTO SALES_1Q VALUES (6, 'PLACE_6', 'MAR', 400);
INSERT INTO SALES_1Q VALUES (7, 'PLACE_7', 'JAN', 500);
INSERT INTO SALES_1Q VALUES (8, 'PLACE_8', 'FEB', 550);
INSERT INTO SALES_1Q VALUES (9, 'PLACE_9', 'MAR', 600);
SELECT *
FROM (
SELECT PLACE_ID, MONTH_CD, SALES_AMT
FROM SALES_1Q
)
PIVOT (
SUM(SALES_AMT)
FOR MONTH_CD IN ('JAN' AS JAN, 'FEB' AS FEB, 'MAR' AS MAR)
)
ORDER BY PLACE_ID;]
결과가

이렇게 나왔습니다 결과가 한글로 적혀있는건 sql을 실행한 사이트가 영문 사이트여서 번역 눌렀더니 저렇게 나왔어요
문제집에 있는 답과 실행시켜보니 답이 달라서 한번 더 문의드립니다..
안녕하세요. 먼저 혼동을 드려 정말 죄송합니다.
다시 확인해 보니 이 문제는 데이터셋 자체에 오류가 있었고,
제가 처음 답변드릴 때 가지고 있던 문제로 테스트하다 보니 답변까지 잘못 전해드리고 말았습니다.
바로잡아 주셔서 감사합니다.
원래 문제의 데이터셋은 PLACE_ID가 아래와 같이 구성되어 있었어야 합니다.
SEQ 1~3 → PLACE_1
SEQ 4~6 → PLACE_2
SEQ 7~9 → PLACE_3
이렇게 PLACE_ID가 3개로 묶여야 PIVOT 결과에서 각 PLACE별로 JAN, FEB, MAR 값이 채워지면서 보기의 정답과 일치하게 됩니다.
반면 교재에 실린 데이터셋처럼 PLACE_ID가 PLACE_1부터 PLACE_9까지 모두 다른 값이면,
각 행이 서로 다른 PLACE로 나뉘고 각 PLACE마다 하나의 월만 값이 있으므로 나머지는 NULL이 됩니다.
이 경우에는 말씀하신 대로 보기 중에 일치하는 정답이 없는 것이 맞습니다.
직접 SQL을 실행해 결과까지 대조해 보신 덕분에 명확히 확인할 수 있었습니다.
이 부분은 정오표에 반영해 두겠습니다.
꼼꼼히 짚어봐 주셔서 다시 한번 감사드립니다!
정오표는 아래 링크에서 확인 가능합니다.
https://cafe.naver.com/daynal
-
관리자2026-08-12 22:11:04
안녕하세요. 먼저 혼동을 드려 정말 죄송합니다.
다시 확인해 보니 이 문제는 데이터셋 자체에 오류가 있었고,
제가 처음 답변드릴 때 가지고 있던 문제로 테스트하다 보니 답변까지 잘못 전해드리고 말았습니다.
바로잡아 주셔서 감사합니다.
원래 문제의 데이터셋은 PLACE_ID가 아래와 같이 구성되어 있었어야 합니다.
SEQ 1~3 → PLACE_1
SEQ 4~6 → PLACE_2
SEQ 7~9 → PLACE_3
이렇게 PLACE_ID가 3개로 묶여야 PIVOT 결과에서 각 PLACE별로 JAN, FEB, MAR 값이 채워지면서 보기의 정답과 일치하게 됩니다.
반면 교재에 실린 데이터셋처럼 PLACE_ID가 PLACE_1부터 PLACE_9까지 모두 다른 값이면,
각 행이 서로 다른 PLACE로 나뉘고 각 PLACE마다 하나의 월만 값이 있으므로 나머지는 NULL이 됩니다.
이 경우에는 말씀하신 대로 보기 중에 일치하는 정답이 없는 것이 맞습니다.
직접 SQL을 실행해 결과까지 대조해 보신 덕분에 명확히 확인할 수 있었습니다.
이 부분은 정오표에 반영해 두겠습니다.
꼼꼼히 짚어봐 주셔서 다시 한번 감사드립니다!
정오표는 아래 링크에서 확인 가능합니다.
https://cafe.naver.com/daynal