반응형
SQL Error [1248] [42000]: Every derived table must have its own alias |
Alias 명칭이 없어서 나타나는 오류.
원인.
서브쿼리에서 Alias를 지정하지 않아서 나타난 에러.
MySql 공식 문서에서는 FROM 절의 모든 테이블에는 이름이 있어야 함.
Alias는 필수이며, 고유한 이름을 가져야함.
doc.
https://dev.mysql.com/doc/refman/8.0/en/derived-tables.html
변경 전.
SELECT GRADE , COUNT(GRADE) FROM ( SELECT CASE WHEN SALARY > 2000 THEN 'High' WHEN SALARY BETWEEN 1000 AND 2000 THEN 'Medium' WHEN SALARY < 1000 THEN 'Low' END AS GRADE FROM EMPLOYEES ) GROUP BY GRADE;
변경 후.
SELECT emp.GRADE , COUNT(emp.GRADE) as CNT FROM ( SELECT CASE WHEN SALARY > 2000 THEN 'High' WHEN SALARY BETWEEN 1000 AND 2000 THEN 'Medium' WHEN SALARY < 1000 THEN 'Low' END AS GRADE FROM EMPLOYEES ) emp GROUP BY emp.GRADE;
반응형
'저장소이야기 > MySql' 카테고리의 다른 글
[MySql] VERSION 조회 (0) | 2020.06.09 |
---|---|
[MySql] ERROR com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run (0) | 2020.06.09 |
[MySql] CASE 구문 (0) | 2020.06.03 |
[MySql] CONCAT과 CONCAT_WS 문자열 합치기 (0) | 2020.05.28 |
[MySql] SQL Error [1305] [42000]: FUNCTION TO_CHAR does not exist (0) | 2020.05.27 |
댓글