커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
5주차 숙제 중 컬럼지정 질문
엑셀보다 쉽고 빠른 SQL v0
5주차
북마크
이*
댓글
3
추천
0
조회수
13
조회수
13
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


5주차 숙제 중


SELECT

f. cuisine_type,

MAX(IF(a.연령 = '10대', a.cnt_order, 0)) "10대",

MAX(IF(a.연령 = '20대', a.cnt_order, 0)) "20대",

MAX(IF(a.연령 = '30대', a.cnt_order, 0)) "30대",

MAX(IF(a.연령 = '40대', a.cnt_order, 0)) "40대",

MAX(IF(a.연령 = '50대', a.cnt_order, 0)) "50대"

FROM (

SELECT

f.cuisine_type,

CASE WHEN c.age BETWEEN 10 AND 19 THEN '10대'

WHEN c.age BETWEEN 20 AND 29 THEN '20대'

WHEN c.age BETWEEN 30 AND 39 THEN '30대'

WHEN c.age BETWEEN 40 AND 49 THEN '40대'

WHEN c.age BETWEEN 50 AND 59 THEN '50대'

ELSE '기타'

END as 연령,

COUNT(1) cnt_order

FROM

food_orders f INNER JOIN customers c on f.customer_id=c.customer_id

where c.age between 10 and 59

GROUP BY 1, 연령

) a

GROUP BY 1



위 코드로 계속 오류가 났는데, f.cuisine_type이 존재하지 않는 다고 합니다.


그래서 주 쿼리의 select 문에서 f.cuisine_type 이 아닌 cuisine_type을 입력했더니 제대로 실행되었습니다.


이 차이가 뭘까요, 강의 들었을 때는 f.를 붙여줘서 기존 데이터 테이블을 확인해줘야한다고 했던 것 같은데요 ㅠㅠ


스파르타 즉문즉답




작성한 코드 및 에러 메세지

<SELECT

cuisine_type,

MAX(IF(a.연령 = '10대', a.cnt_order, 0)) "10대",

MAX(IF(a.연령 = '20대', a.cnt_order, 0)) "20대",

MAX(IF(a.연령 = '30대', a.cnt_order, 0)) "30대",

MAX(IF(a.연령 = '40대', a.cnt_order, 0)) "40대",

MAX(IF(a.연령 = '50대', a.cnt_order, 0)) "50대"

FROM (

SELECT

f.cuisine_type,

CASE WHEN c.age BETWEEN 10 AND 19 THEN '10대'

WHEN c.age BETWEEN 20 AND 29 THEN '20대'

WHEN c.age BETWEEN 30 AND 39 THEN '30대'

WHEN c.age BETWEEN 40 AND 49 THEN '40대'

WHEN c.age BETWEEN 50 AND 59 THEN '50대'

ELSE '기타'

END as 연령,

COUNT(1) cnt_order

FROM

food_orders f INNER JOIN customers c on f.customer_id=c.customer_id

where c.age between 10 and 59

GROUP BY 1, 연령

) a

GROUP BY 1

>




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴