首页 > 解决方案 > #1054 - 同一表 mysql 版本 5.6.4 的子查询中的“where 子句”中的未知列“ats2”

问题描述

SELECT *, (
    CASE WHEN ats1.time_slot_id = 48
    THEN 1
    ELSE ats1.time_slot_id
    END
  ) AS temp_time_slot_id,
  (
    SELECT id
    FROM allocated_time_slot
    WHERE from_time >= '2018-10-11 06:25:40'
    AND patient_id IS NULL
    AND doctor_id = '1167'
    AND time_slot_id = temp_time_slot_id
  ) AS ats2
FROM allocated_time_slot AS ats1
WHERE ats1.doctor_id = '1167'
AND ats1.from_time >= '2018-10-11 06:25:40'
AND ats1.patient_id IS NULL
AND ats2 IS NOT NULL
LIMIT 1

标签: mysqlmysql-error-1064

解决方案


推荐阅读