mysql은 위치 절과 열 별칭 제한
mySQL에서 열 별명을 사용하여 절은 종종 오류 "#1054- 'in/all/one subquery'의 오류로 이어집니다. 이 기사는 이유를 설명하고 대체 접근 방식을 제공합니다.
MySQL은 클로스가 테이블의 구조에서 직접 또는 도트 표기법을 통해 파생되도록 열 이름을 요구합니다. 쿼리 처리 중에 지정된 임시 이름 인 열 별명은 인식되지 않습니다.
MySQL 문서는 이것을 명시 적으로 금지합니다. 그 이유는 쿼리 실행 순서입니다. 별칭이 할당되기 전에 Where 절을 평가합니다. 따라서 WHERE 절에서 별칭을 사용하면 정의되지 않은 동작이 발생합니다.
이것을 극복하려면 hading clause를 사용하십시오. 이 조항은 그룹화 및 집계 후 행을 필터링하기 위해 설계되었으므로 계산 된 열에서 필터링 할 때 (예 : 별명으로 생성 된 것과 같은) 적절합니다. 필터링에 별명이 필요한 상황에서 HADIE 절에서 별칭을 사용하여 실행 가능한 해결 방법을 제공합니다.부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3