Меня это немного смущает, почему каждый раз, когда я делаю какой-то псевдоним из функции запроса, я всегда получаю сообщение неизвестного столбца, когда я использую этот псевдоним в другом запросе функции, находится в mysql псевдоним не может использоваться по запросу другой функции? Например, я помещаю запрос ниже:
Запрос неизвестного столбца:
SELECT
CASE
WHEN TIME >= '06:15:00' AND TIME < '12:00:00' THEN 'in' ELSE 'out'
END in_out ,
DATE(MAX(CASE WHEN in_out = 'IN' THEN date_time END)) AS attendance_date,
MAX(CASE WHEN in_out = 'IN' THEN date_time END) AS time_in,
MAX(CASE WHEN in_out = 'OUT' THEN date_time END) AS time_out
FROM raw_attendance
Результат неизвестного столбца:
`Unknown column 'in_out' in 'field list'`
Без псевдонима:
SELECT
CASE WHEN TIME >= '06:15:00' AND TIME < '12:00:00' THEN 'in' ELSE 'out' END in_out ,
DATE(MAX(CASE WHEN CASE WHEN TIME >= '06:15:00' AND TIME < '12:00:00' THEN 'in' ELSE 'out' END =
'IN' THEN date_time END)) AS attendance_date,
MAX(CASE WHEN CASE WHEN TIME >= '06:15:00' AND TIME < '12:00:00' THEN 'in' ELSE 'out' END = 'IN'
THEN date_time END) AS time_in,
MAX(CASE WHEN CASE WHEN TIME >= '06:15:00' AND TIME < '12:00:00' THEN 'in' ELSE 'out' END = 'OUT'
THEN date_time END) AS time_out
FROM raw_attendance
Без использования псевдонима Результат:
+-----------------+-----------------------+-----------------------+-----------------------+
+ in_out + attendance_date + time_in + time_out +
+-----------------+-----------------------+-----------------------+-----------------------+
+ in + 2020-05-05 + 2020-05-05 07:55:00 + 2020-05-05 21:55:00 +
+-----------------+-----------------------+-----------------------+-----------------------+