2015-09-17 2 views
0

У меня есть этот пример запроса:Concat поле в MySQL с вычисленным псевдоним поля в MySQL

SELECT users.name AS name, 2*2 AS field_aliases FROM users WHERE id > 0; 

мне нужно CONCAT в users.name И field_aliases, что-то вроде этого, но это не работает:

SELECT CONCAT(users.name, \' \', field_aliases), 2*2 AS field_aliases FROM users WHERE id > 0; 

Как это можно решить? У меня есть эта ошибка прямо сейчас:

указан столбец 'field_aliases' в 'списке поля'

Спасибо!

ответ

0

Нет, вы не можете использовать псевдоним столбца непосредственно в том же списке выбора, если только во внешнем запросе. Измените запрос, чтобы быть, как показано ниже

SELECT CONCAT(users.name, \' \', 2*2), 
2*2 AS field_aliases 
FROM users 
WHERE id > 0; 

(OR) доступ столбец в внешнем запросе, как

SELECT *, CONCAT(users.name, \' \', field_aliases) 
FROM (
SELECT users.name, 
2*2 AS field_aliases 
FROM users 
WHERE id > 0) xx; 
+0

Спасибо, но операция 2 * 2 является лишь примером. – chemitaxis

+0

@chemitaxis, единственный способ использовать выражение непосредственно (или) использовать внешний запрос. – Rahul

+0

@chemitaxis, см. Редактирование в ответ, если это помогает. – Rahul

Смежные вопросы