Using column alias in WHERE clause of MySQL query produces an error

后端 未结 8 1322
北荒
北荒 2020-11-22 03:40

The query I\'m running is as follows, however I\'m getting this error:

#1054 - Unknown column \'guaranteed_postcode\' in \'IN/ALL/ANY subquery\'

<
8条回答
  •  闹比i
    闹比i (楼主)
    2020-11-22 04:11

    I am using mysql 5.5.24 and the following code works:

    select * from (
    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`
    ) as a
    WHERE guaranteed_postcode NOT IN --this is where the fake col is being used
    (
     SELECT `postcode` FROM `postcodes` WHERE `region` IN
     (
      'australia'
     )
    )
    

提交回复
热议问题