Поле псевдонима sql
В SQL, предположим, мне нужно сослаться на псевдоним поля в предложении Имея, но псевдоним имеет кавычки, как мне это сделать?
select (select...) as '005'
group by ...
having '005'>0
2 ответа
Я думаю, что вам не хватает предложения FROM, и вы должны использовать обратные кавычки вместо одинарных кавычек:
SELECT (SELECT ...) AS `005`
FROM table1
GROUP BY ...
HAVING `005` > 0
Было бы полезно, если бы вы разместили свой полный запрос, так как я немного угадал здесь, что вы хотите сделать.
Стандарт SQL-92 определяет использование двойных кавычек для псевдонима столбца, а не одинарных кавычек. В большинстве баз данных необычные символы допускаются, только если вы используете двойные кавычки.
Тем не менее, не все базы данных поддерживают обращение к псевдониму столбца (в том же запросе) в GROUP BY
или же HAVING
статьи. Для переносимых запросов я не рекомендую обращаться к псевдониму столбца в GROUP BY
или же HAVING
статьи. Кроме того, HAVING
Предложение относится к агрегатам - приведенный вами упрощенный пример должен вызвать ошибку, поскольку агрегатная функция (IE: COUNT, AVG, MIN/MAX и т. д.) не выполняется 005
псевдоним столбца.
Следующее работает для меня на MySQL 4.1:
SELECT COUNT(*) AS "005"
FROM TABLE t
GROUP BY ...
HAVING `005` > 0