[英]create implicit data without having to create temp/volatile/working table
这个有可能:
SELECT 'Bla' AS X
为什么在TeraData中这是不可能的:
SELECT 'Bla' AS X
UNION
SELECT 'DiBla' AS X
有没有一种方法可以不必在TeraData中创建临时表/易失性表/工作表来实现上述目的?
PS:
错误是:联合,相交或减号的选择必须引用一个表
如果要在一行上两列,请使用:
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
您在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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.