2016-04-16 4 views
1

全く同じスキーマを持つ3つのテーブルがあります。それらをすべて1つの大きなテーブルに結合/結合/マージして結合テーブルとして保存したいと思います。BigQueryの新しいテーブルとして連合、トリム、および保存

3つのテーブルのそれぞれには、文字列を含む同じ列があります。この列内の文字列には、プレフィックス "'"を付けて削除します。

私はこの文字を私の文字列に連結して、Excelに適用された科学的表記法を克服しました。 BigQueryスキーマでその列を文字列として定義したので、もはや必要なくなり、削除する必要があります。

SQLなどは私のものではありません(まだ!)、誰かが私にBigQueryでこれをどうやってできるか考えてもらえますか?

私は列の最初から "'"を取り除くために列にLTRIMを行うことができると信じていますが、どのように共用体部分と一緒にまとめていくかわかりません。

答えて

2

は私がLTRIM対REGEXP_REPLACEを使う理由は、ところで

Regular expression functionsにALL REGEXP_EXTRACT FROM clauseで約

SELECT 
    REGEXP_REPLACE(troubled_field, "^'", "") AS fixed_field, 
    second_field, 
    third_field 
FROM table1, table2, table3 

はUNIONについてもさらに見る

以下のような単純なものである必要があります -

下にしてみてください
SELECT REGEXP_REPLACE("'''abc'def", "^'", ""), LTRIM("'''abc'def", "'") 

あなたの特定のケースではそれほど重要ではないかもしれませんが、

簡単なバージョンは

SELECT 
    SUBSTR(troubled_field, 2) AS fixed_field, 
    second_field, 
    third_field 
FROM table1, table2, table3 

注意することができます。このバージョンは、その列のすべての値が(REGEXP_REPLACE付き)「'」
最初のバージョンで始まるを前提とし、これについて以下concurnedです - いくつかの値が起動しない場合「「」(SUBSTR付き)は、第2のバージョンの最初の文字は常にそれがない場合でも削除されるのに対し、彼らはただ、変更しないであろうと「」」

使用オプションセクションよりおよそSUBSTR機能を参照してください。セトン先テーブルと他の属性
enter image description here

+0

おかげでミハイルあなたの迅速な応答を、私は、元の3つのテーブルと同じスキーマを持つ「combinedtable」と呼ばれる新しいテーブルに保存するASステートメントを記述する必要がありますか? – TheGoat

+1

Web UIの[Show Options]ボタンを使用して、テーブル、書き込み設定などの各出力先の属性を表示して入力することができます。 –

+0

ありがとうございました。 – TheGoat

関連する問題