SQL UNION 更改表的值

问题描述 投票:0回答:0

我正在使用 Teradata。试图理解一件很奇怪的事情。

SELECT
    ID,
    TYPE,
    '' AS SUB_TYPE
FROM Table_A
UNION ALL
SELECT
    ID,
    TYPE,
    SUB_TYPE
FROM TABLE_B

不知何故,表 B 的有效值在结果中变为空白。 |ID|TYPE|SUB_YPE|评论| |-|-|-|-| |1|表A中的类型||正确,空字符串作为常量| |2|表B中的A类型||不正确,子类型在B中有值| |3|表B中的另一种类型|null|正确,子类型在B中为null|

但是当我交换查询 1 和 2 时,一切正常。

SELECT
    ID,
    TYPE,
    SUB_TYPE
FROM TABLE_B
UNION ALL
SELECT
    ID,
    TYPE,
    '' AS SUB_TYPE
FROM Table_A
的子类型
ID 类型 SUB_TYPE 评论
2 B 表中的 A 类型 来自表 B正确
3 B表中的另一种类型 正确
1 A 表中的类型 正确

这很奇怪,谁能帮忙解释一下?

sql teradata union union-all
© www.soinside.com 2019 - 2024. All rights reserved.