您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

查询中的字段别名,nzsql

查询中的字段别名,nzsql

在Netezza中,选择列时,

示例:假设我们有以下语句:

CREATE TEMPORARY TABLE EMPLOYEES AS 
SELECT 1001 AS EMPLOYEE_ID
      ,'Alex' AS FIRST_NAME
      ,'Smith' AS LAST_NAME
      ,'Alex J. Smith' AS FULL_NAME;

SELECT 
     EMPLOYEE_ID
    ,FIRST_NAME
    ,LAST_NAME
    ,LAST_NAME||', '||FIRST_NAME AS FULL_NAME
    ,'My full name is :'||FULL_NAME AS DESCRIPTION
  FROM EMPLOYEES;

它将返回

**EMPLOYEE_ID FIRST_NAME LAST_NAME FULL_NAME说明**
   1001 Alex Smith Smith,Alex我的全名是:Alex J. Smith

注意,在 ,FULL_NAME值是从表列而不是别名中选择的。

如果要使DESCRIPTION列使用别名“ FULL_NAME”中的值,则可以分两个步骤进行操作:

创建一个包含所有想要的列的子查询。对于要重用的所有别名,您需要将其命名为FROM子句中任何表列中都不存在的名称

仅从子查询中选择所需的列。

CREATE TEMPORARY TABLE EMPLOYEES AS SELECT 1001 AS EMPLOYEE_ID, 'Alex' AS FIRST_NAME, 'Smith' AS LAST_NAME, 'Alex J. Smith' AS FULL_NAME;

WITH EMPLOYESS_TMP AS (
SELECT 
     EMPLOYEE_ID
    ,FIRST_NAME
    ,LAST_NAME
    ,LAST_NAME||', '||FIRST_NAME AS FULL_NAME2
    ,FULL_NAME2 AS FULL_NAME
    ,'My full name is :'||FULL_NAME2 AS DESCRIPTION
  FROM EMPLOYEES)
SELECT 
     EMPLOYEE_ID
    ,FIRST_NAME
    ,LAST_NAME
    ,FULL_NAME
    ,DESCRIPTION
 FROM EMPLOYESS_TMP;

这将返回您想要的:

**EMPLOYEE_ID FIRST_NAME LAST_NAME FULL_NAME说明**
   1001 Alex Smith Smith,Alex我的全名是:Smith,Alex
SQLServer 2022/1/1 18:50:56 有498人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶