【问题标题】:Query run result in Teradata在 Teradata 中查询运行结果
【发布时间】:2017-06-14 20:11:58
【问题描述】:

我在 Teradata 编辑器中运行以下查询:

SELECT 'EMP_INFO_MAIN' as TABLE_NAME, COUNT(1) as RECORD_COUNT FROM SCHEMA.TABLE1 UNION ALL
SELECT 'EMP_SAL' as TABLE_NAME, COUNT(1) as RECORD_COUNT FROM SCHEMA.TABLE2 UNION ALL
SELECT 'DEPARTMENT_INFO' as TABLE_NAME, COUNT(1) as RECORD_COUNT FROM SCHEMA.TABLE3;

查询结果如下:

TABLE_NAME  | RECORD_COUNT
------------|------------- 
EMP_INFO    | 10 
EMP_SAL     | 11 
DEPARTME    | 110 

第一列未显示完整的表名。 有人可以帮忙吗?

【问题讨论】:

    标签: teradata


    【解决方案1】:

    这是一个常见问题。

    在 Teradata 中,UNION 的第一个 SELECT 确定结果数据类型和列名,因此要么更改 SELECT 的顺序以从最长的名称开始,要么在第一个 SELECT 中添加 CAST:

    SELECT CAST('EMP_INFO_MAIN' AS VARCHAR(20)) as TABLE_NAME, COUNT(1) as RECORD_COUNT FROM SCHEMA.TABLE1 UNION ALL
    SELECT 'EMP_SAL' as TABLE_NAME, COUNT(1) as RECORD_COUNT FROM SCHEMA.TABLE2 UNION ALL
    SELECT 'DEPARTMENT_INFO' as TABLE_NAME, COUNT(1) as RECORD_COUNT FROM SCHEMA.TABLE3;
    

    【讨论】:

      猜你喜欢
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-22
      • 2018-09-03
      • 2016-01-02
      • 1970-01-01
      相关资源
      最近更新 更多