Поле псевдонима 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
Другие вопросы по тегам