2014-09-03 2 views
0

У меня есть запрос, как:Выберите запрос с использованием колонки Алиас Имя

Select table1.Name AS aliasname1, Count(aliasname1) as aliasname2 from table1. 

Но я не уверен, если этот запрос будет успешно выполняться в SQL, потому что я использовал псевдоним в одном операторе отбора .I нужно решение для того, чтобы сделать то же самое в sql. Я хочу решение, как

aliasname1 aliasname2 

Name1   4 
Name2   4 
Name3   4 
Name4   4 
+0

Вы попробовали? Нет, это не сработает. Вы не можете ссылаться на псевдоним в рамках одного и того же запроса. –

+0

** Но я не уверен, что этот запрос будет успешно выполнен ** почему вы не уверены? –

+0

ya Я пробовал, но он дает мне ошибку «Недопустимое имя столбца aliasname1» в sql.but мне нужно альтернативное решение для выполнения того же запроса. – vivek

ответ

2

Вы не можете ссылаться на псевдоним в вашем ЗЕЬЕСТ, как это. Вы создаете и пытаетесь вызвать псевдоним одновременно, поэтому компилятор не знает, что такое aliasname1, когда вы ссылаетесь на него в одном и том же предложении. Поэтому для того, чтобы исправить это, вы должны написать запрос следующим образом:

select 
    table1.Name AS aliasname1, 
    Count(table1.Name) as aliasname2 
from table1 

Или, если вы хотите, чтобы ссылаться на псевдоним, вам нужно использовать подзапрос:

select aliasname1, 
    count(aliasname1) as aliasname2 
from 
(
    select table1.Name AS aliasname1 
    from table1 
) as d 
Смежные вопросы