2016-10-17 45 views
2

短:有沒有辦法在BQ字段中查詢不存在,接收這些字段的空值?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 

但下面人會失敗,因爲不存在的Z區域

SELECT x, y, z 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 
相關問題