Ответ 1
Возможно, вы захотите рассмотреть вопрос о том, чтобы поместить свое условие в предложение HAVING, а не в предложение WHERE.
Подробнее о предложении HAVING см. http://dev.mysql.com/doc/refman/5.5/en/select.html.
У меня есть база данных MySQL. Я использую SELECT AS
для измерения "расстояния" между двумя точками. Я хочу использовать ту же переменную "distance", которую я создал в SELECT
как условие WHERE
.
SELECT first_name.last_name AS name WHERE name="John Doe"
Каков наилучший способ для этого?
Возможно, вы захотите рассмотреть вопрос о том, чтобы поместить свое условие в предложение HAVING, а не в предложение WHERE.
Подробнее о предложении HAVING см. http://dev.mysql.com/doc/refman/5.5/en/select.html.
Алиасы столбцов могут ссылаться только на предложение ORDER BY
(поскольку они еще не существуют в части WHERE
. Вы можете сделать это (хотя я не рекомендую его, поскольку он может быть медленнее.)
select name from
(select concat(firstname, ' ', lastname) as name from yourtable)
where name = 'John Doe'
Или вы можете это сделать:
select (firstname, ' ', lastname) as name from yourtable
where (firstname, ' ', lastname) = 'John Doe';
Единственными столбцами, к которым у вас есть доступ в предложении WHERE
, являются столбцы в предложении FROM
.