在 Teradata 中查询 运行 结果
Query run result in Teradata
我在 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
第一列未显示完整的 table 名称。
有人可以帮忙吗?
这是一个常见问题。
在 Teradata 中,UNION 的第一个 SELECT 决定了生成的数据类型和列名,因此要么更改 SELECT 的顺序以从最长的名称开始,要么在中添加一个 CAST第一个 SELECT:
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;
我在 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
第一列未显示完整的 table 名称。 有人可以帮忙吗?
这是一个常见问题。
在 Teradata 中,UNION 的第一个 SELECT 决定了生成的数据类型和列名,因此要么更改 SELECT 的顺序以从最长的名称开始,要么在中添加一个 CAST第一个 SELECT:
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;