2017-03-15 85 views
0

我的问题,只是很单纯,我们可以在一列上添加多个别名吗?

不知怎的,我想补充的单柱多个别名我的查询,这将在查询中使用,我能做到吗?

e.g:

select username as id,fullname as "Full Name",(select login_date_time from login_log where login_id = ((select MAX(login_id) from login_log where username=users.username))) as "Last Login","secondAlias" from table users order by secondAlias 

注:我使用笨用postgre SQL

+0

不,这种语法是无效的,但我对什么感到好奇? – klin

回答

3

不,你不能多个别名在查询中添加一列。 SQL的查询语法允许使用零个或一个别名;没有添加第二个语法的语法。

当然,没有什么能阻止你制作一个嵌套查询,并用不同的别名选择相同的字段两次。但是,这会引入两个相同的列,名称不同:

select 
    username as id 
, fullName as "Full Name" 
, lastLogin as "Last Login" 
, lastLogin as "second alias" 
from (
    select 
     username 
    , fullname 
    , (select login_date_time from login_log where login_id = ((select MAX(login_id) from login_log where username=users.username))) as lastLogin 
    from table users 
) nested 
order by secondAlias 
相关问题