2017-12-11 13 views
0

/揮発温度を/作成することなく、暗黙的なデータを作成します。これが可能な作業テーブル

SELECT 'Bla' AS X 

なぜこれがTeradataのは不可能である。

SELECT 'Bla' AS X 
     UNION 
SELECT 'DiBla' AS X 

は、上記目的を達成する方法はありますTeraDataに一時/揮発性/ワーキングテーブルを作成する必要はありませんか?

PS:

エラーがある:労働組合のために選択し、交差またはマイナスあなたは1行に2つの列をしたい場合は、使用して、テーブル

答えて

0

を参照する必要があります。

SELECT 'Bla' AS X, 'DiBla' AS Y 

あなたがしたい場合:

X 
Bla 
DiBla 

を次に、あなただけの操作を行います。

select 'Bla' as X 
union all 
select 'DiBlah' as X; 

したい場合は:あなたは、あなたのUNIONの属性名の寄せ集めを持って

SELECT 'Bla' as X, NULL as Y 
UNION ALL 
SELECT NULL as X, 'DiBla' as Y 
+0

おかげかもしれないが、私は1つの列と呼ばれるX. – cs0815

+0

は、私は上記を使用して、COALESCEを使用しますが、cs0815 @非常に面倒 – cs0815

+0

だことができると思いたいです。 。 。それでは、なぜ質問の中で1つの列「Y」を呼び出すのですか? –

0

X  Y 
Bla  NULL 
NULL DiBla 

その後。異なる構造の関係間に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 
+0

はまだエラーが発生します。 – cs0815

+0

エラーメッセージを投稿できますか? –

+0

@ cs0815私の編集した回答を見てください –

関連する問題