
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
아래 코드에서 "시도" 를 alias로 적었더니 결과값의 "시도"컬럼의 값이 전부 "시도"로 바뀌었습니다.(그림1)
그 아래 subquery만 실행할 경우에는 그렇지 않은데요.(그림2)
"시도"인 alias를 sido 라고 강사님이 하신 것처럼 적으니 제대로 결과값이 나왔습니다.(그림3)
한글로 alias 값을 정할 때는 select에서 컬럼 지정을 하면 오류가 나는 걸까요?
아니면 제가 모르는 다른 법칙이 있는 걸까요?
그림1

그림2

그림3

SELECT "시도",
cuisine_type,
total_quantity,
count_res,
CASE WHEN count_res>=5 AND total_quantity>=30 THEN 0.005
WHEN count_res>=5 AND total_quantity<30 THEN 0.008
WHEN count_res<5 AND total_quantity>=30 THEN 0.01
WHEN count_res<5 AND total_quantity<30 THEN 0.02
END rate
FROM
(
SELECT SUBSTR(addr, 1, 2) "시도",
cuisine_type ,
SUM(quantity) total_quantity,
COUNT(DISTINCT restaurant_name) count_res
FROM food_orders
GROUP BY 1, 2
) a
SELECT sido,
cuisine_type,
total_quantity,
count_res,
CASE WHEN count_res>=5 AND total_quantity>=30 THEN 0.005
WHEN count_res>=5 AND total_quantity<30 THEN 0.008
WHEN count_res<5 AND total_quantity>=30 THEN 0.01
WHEN count_res<5 AND total_quantity<30 THEN 0.02
END rate
FROM
(
SELECT SUBSTR(addr, 1, 2) sido,
cuisine_type ,
SUM(quantity) total_quantity,
COUNT(DISTINCT restaurant_name) count_res
FROM food_orders
GROUP BY 1, 2
) a
