这是可能的:
SELECT 'Bla' AS X
为什么在TeraData中无法做到这一点:
SELECT 'Bla' AS X
UNION
SELECT 'DiBla' AS X
有没有办法实现上述目的而无需在TeraData中创建临时/易变/工作表?
PS:
错误是:选择联合,相交或减去必须引用表
答案 0 :(得分:0)
如果您想在一行上有两列,请使用:
SELECT 'Bla' AS X, 'DiBla' AS Y
如果你想:
X
Bla
DiBla
然后你就做了:
select 'Bla' as X
union all
select 'DiBlah' as X;
如果你想:
X Y
Bla NULL
NULL DiBla
然后:
SELECT 'Bla' as X, NULL as Y
UNION ALL
SELECT NULL as X, 'DiBla' as Y
答案 1 :(得分:0)
您的UNION
中有一个属性名称mishmash。您不能在具有不同结构的关系之间执行UNION
。因此,请使用
SELECT cast('Bla' as varchar(6)) AS X FROM (SELECT 1 a) t
UNION
SELECT cast('DiBla' as varchar(6)) AS X FROM (SELECT 1 a) t
显式转换确保数据类型与属性名称相同。另一种解决方案可能是
SELECT * FROM
(
SELECT cast('Bla' as varchar(6)) AS X
) t
UNION
SELECT * FROM
(
SELECT cast('DiBla' as varchar(6)) AS X
) t