2010-06-04 1 views
1

в SQL, предполагает, что мне нужно ссылаться на псевдонимы в задании, но у псевдонима есть кавычки, как это сделать?sql-поле псевдонима

select (select...) as '005' 
group by ... 
having '005'>0 
+0

типа Что базы данных? –

+0

Тип базы данных MYSQL – user157195

ответ

4

Я думаю, что вам не хватает ЕК, и вы должны использовать обратные кавычки вместо одинарных кавычек:

SELECT (SELECT ...) AS `005` 
FROM table1 
GROUP BY ... 
HAVING `005` > 0 

Это поможет, если Вы отправили запрос полностью, как я предполагаю, немного здесь что вы хотите сделать.

+1

Как отметил Марк, проблема заключается в том, что вы используете одинарные кавычки, а не обратные тики, что делает псевдоним обработанным как строковый литерал. В части выбора псевдоним может использовать обычные кавычки, но в любом другом месте он используется, чтобы использовать обратные тики. –

+0

Вы, ребята, правы, если я использую Backticks вместо одиночных кавычек, то псевдоним работает !, спасибо – user157195

2

Стандарт 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 

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

  • Нет связанных вопросов^_^