2014-03-28 35 views
3

這可能只是BQ中的一個錯誤,但也許有人可能會因某種錯誤而致電我。基本上我想要做的是將一個字段(比如說new_field)添加到表中並將其保存爲稍後查詢的視圖。在BigQuery視圖中找不到字段

當我查詢視圖時,它會拋出一個關於無法找到new_field的錯誤。

最簡單的方法來複制此錯誤:

SELECT IF(corpus_date > 1599, "17th", "16th") AS century, * 
FROM [publicdata:samples.shakespeare] 
WHERE corpus_date > 0; 

另存爲一個視圖,把它bar

SELECT * FROM [foo.bar] 

會拋出這樣的錯誤:

Error: Field 'century' not found in table 'publicdata:samples.shakespeare'. 

有什麼想法?

回答

4

看起來像*在視圖中的擴展存在問題。我已經提交了一個bug,希望我們很快能夠修復。同時,您應該能夠通過明確添加視圖中的所有字段來解決該問題。

例如,如果您保存視圖如下所示:

SELECT IF(corpus_date > 1599, "17th", "16th") AS century, 
    word, word_count, corpus, corpus_date 
FROM [publicdata:samples.shakespeare] 
WHERE corpus_date > 0; 

然後select * from [foo.view]會工作。

+0

以我的經驗,BQ。不允許包含*和其他字段的select語句。它允許顯式地顯示字段或*。無論是觀點還是隻是陳述。 –

+0

帶附加字段支持的select *是我們在過去幾個月添加的小SQL調整之一。另一個,相關的是能夠使用*嵌套字段,所以你可以做'SELECT記錄。* FROM ...' –

+0

尼斯...我在哪裏可以得到這樣的調整發布更新。我在正式的發行說明頁面中沒有看到它。 –