【发布时间】:2020-01-16 22:18:00
【问题描述】:
当我在 2 个表之间执行 UNION 时,字符串会自动缩短。我得到“30 Days Active Su”和“120 Days Active S”。当我单独运行查询时,没有任何 UNION,我得到了我需要的完整形式“30 天活动订阅者”和“120 天活动订阅者”。为什么会这样?如何改正?
以下是代码:
SELECT
'30 Days Active Subs' AS PROPERTY
,(DISTINCT SUBS.SUBSCRIBER_COUNT) AS SUBS_COUNT
FROM PMP_AVEW.FCT_SUBS_DLY_SNAP AS SUBS
WHERE SUBS.DAYS=30
GROUP BY 1
UNION
SELECT
'120 Days Active Subs' AS PROPERTY
,(DISTINCT SUBS.SUBSCRIBER_COUNT) AS SUBS_COUNT
FROM PMP_AVEW.FCT_SUBS_DLY_SNAP AS SUBS
WHERE SUBS.DAYS=120
【问题讨论】:
-
请注意,在第二个 SELECT 上提供不同的别名是没有用的。无论如何,该列将称为“30_DAYS_SUBS”,这对于来自第二个 SELECT 的记录会产生很大的误导,因此您最好选择一个更通用的名称,例如“SUBS_COUNT”。
标签: sql union teradata-sql-assistant