使用TOP N查询时列的别名

时间:2012-03-11 07:23:31

标签: sql-server

我有一个名为user_bills的表,包含192条记录,我根据phone_number为每个用户排序。此查询返回表中的所有列:

SELECT TOP 1 * 
FROM   user_bills 
WHERE  phone_number = 4423568989

...实际的列名如下:

phone_number|user_name|reciept_number

但我希望他们成为:

Phone Number|User Name|Reciept Number

我尝试了下面的查询,但是我收到有关缺少关键字的错误。有更好的选择吗?

SELECT TOP 1
FROM   (
          SELECT   phone_number 'Phone Number', 
                   user_name 'User Name',
                   usage_amount 'Usage Amount',
                   charges 'Charges', 
                   Fine, 
                   month_for 'Month',
                   Year,
                   Reciept
          FROM     user_bills 
       ) 
FROM   user_bills
WHERE  phone_number = 4423568989

3 个答案:

答案 0 :(得分:1)

select top 1 phone_number 'Phone Number', 
             user_name 'User Name', 
             usage_amount 'Usage Amount', 
             charges 'Charges', 
             Fine, 
             month_for 'Month', 
             Year, 
             Reciept 
from user_bills 
where phone_number = 4423568989

答案 1 :(得分:0)

您正在对查询中的列进行微调。

它应该是这样的:

SELECT TOP 1 phone_number "Phone Number" FROM user_bills WHERE phone_number = xxxxxxxxxx

答案 2 :(得分:0)

你需要在WHERE条件中围绕变量放置单引号.....

SELECT TOP 1
phone_number 'Phone Number', 
user_name 'User Name',
usage_amount 'Usage Amount',
charges 'Charges', 
Fine, 
month_for 'Month',
Year,
Reciept
FROM user_bills
WHERE phone_number ='4423568989'