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