sql - 我们可以在一列上添加多个别名吗?

标签 sql postgresql codeigniter alias

我的问题很简单,

我想以某种方式为我的查询中的单个列添加多个别名,这些别名将在查询中使用,我能做到吗?

例如:

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

注意:我正在使用 codeigniter 和 postgre sql

最佳答案

不可以,您不能将多个别名添加到查询中的单个列。 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

关于sql - 我们可以在一列上添加多个别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803319/

相关文章:

c# - 获取满足sql查询的第二条记录

python - 查询在查询浏览器中运行良好,但在 python 代码中运行不佳

mysql - 所有连接末尾的“where”子句

php - 页面加载时显示查询结果

mysql - 查询选择日期时间之外的时间范围

python - 使用 psycopg2 将多行插入 postgreSQL 时出错

django - Django 和 Postgres 的 get_or_create 失败(重复键值违反唯一约束)

database - 像 Postgres 模式一样的 Oracle 数据库 : Group tables in folders,?

php - Codeigniter 数据库类在插入时截断文本

php - 在 codeigniter 中查看输出