2016-10-17 7 views
2

ショート:存在しないBQフィールドでクエリを実行する方法はありますか?これらのフィールドにはnullがありますか?Bigqueryフィールドが存在する場合

は、私はよりほぼ同じ問題を持って BigQuery IF field exists THENが、鉱山で、時々私のAPIが存在しないいくつかの特定のフィールド(歴史的なテーブル)と、それはそのフィールドを持つテーブルを必要とするため、このアプローチは失敗し、テーブル照会できます

SELECT a, b, c, COALESCE(my_field, 0) as my_field 
FROM 
(SELECT * FROM <somewhere w/o my_field>), 
(SELECT * FROM <somewhere with my_field>) 

ような何かをする方法があります:

SELECT IFEXISTS(a, NULL) as the-field 
FROM <somewhere w/o my_field> 

答えて

2

はのは、あなたのテーブルにのみxとyのフィールドを持っていると仮定しましょう!
だから、クエリの下に完全に

SELECT x, y FROM YourTable 

を動作しますが、この問題に対処する方法は

SELECT x, y, COALESCE(z, 0) as z 
FROM 
(SELECT * FROM YourTable), 
(SELECT true AS fake, NULL as z) 
WHERE fake IS NULL 
以下のようである非既存のフィールドZ

SELECT x, y, z FROM YourTable 

のため、1が失敗し、以下のだろう

関連する問題