반응형
실행중인 쿼리는 다음과 같지만이 오류가 발생합니다.
# 1054- 'IN / ALL / ANY subquery'의 알 수없는 열 'guaranteed_postcode'
SELECT `users`.`first_name`, `users`.`last_name`, `users`.`email`,
SUBSTRING(`locations`.`raw`,-6,4) AS `guaranteed_postcode`
FROM `users` LEFT OUTER JOIN `locations`
ON `users`.`id` = `locations`.`user_id`
WHERE `guaranteed_postcode` NOT IN #this is where the fake col is being used
(
SELECT `postcode` FROM `postcodes` WHERE `region` IN
(
'australia'
)
)
내 질문은 : 동일한 DB 쿼리의 where 절에서 가짜 열을 사용할 수없는 이유는 무엇입니까?
해결 방법
GROUP BY, ORDER BY 또는 HAVING 절에서만 열 별칭을 사용할 수 있습니다.
표준 SQL은 다음을 허용하지 않습니다. refer to a column alias in a WHERE clause. This restriction is imposed because when the WHERE code is executed, the column value may not yet 결정됩니다.
참조 페이지 https://stackoverflow.com/questions/942571
반응형
'MySql' 카테고리의 다른 글
MySQL Change MySql Case sensitivity with phpMyAdmin? (0) | 2020.09.20 |
---|---|
MySQL 여러 행을 반환하는 SELECT 하위 쿼리를 사용하여 테이블에 삽입하는 방법은 무엇입니까? (0) | 2020.09.20 |
MySQL 라이브 데이터베이스에서 mysqldump 실행 (0) | 2020.09.20 |
MySQL Current_timestamp-> PHP 날짜 () (0) | 2020.09.20 |
MySQL Sort By 2 Columns (0) | 2020.09.20 |
댓글