2013-07-26 55 views
0

BigQuery返回代碼500:「意外,請重試。」BigQuery。查詢多個表時出錯:意外。請重試

實施例的查詢:

SELECT IF((bD >= "2013-03-18" AND bD < "2013-03-25"), "2013w12", IF((bD >= "2012-03-19" AND bD < "2012-03-26"), "2012w12", IF((bD >= "2011-03-21" AND bD < "2011-03-28"), "2011w12", ""))) AS pD_pW_T, IF((bD >= "2013-03-18" AND bD < "2013-03-25"), IF(bD > vD, null, (-(2013 - vY))), IF((bD >= "2012-03-19" AND bD < "2012-03-26"), IF(bD > vD, null, (-(2012 - vY))), IF((bD >= "2011-03-21" AND bD < "2011-03-28"), IF(bD > vD, null, (-(2011 - vY))), null))) AS aRD_y, IF((bD >= "2013-03-18" AND bD < "2013-03-25"), IF(bD > vD, null, (-(2013 - vY))), IF((bD >= "2012-03-19" AND bD < "2012-03-26"), IF(bD > vD, null, (-(2012 - vY))), IF((bD >= "2011-03-21" AND bD < "2011-03-28"), IF(bD > vD, null, (-(2011 - vY))), null))) AS aRD_y_name, STRING(SUM(ac)) AS acK_ac_0 FROM tabl.dataset_2009, tabl.dataset_2007, tabl.dataset_2008, tabl.dataset_2013, tabl.dataset_2012, tabl.dataset_2011, tabl.dataset_2010 WHERE (((bD >= "2013-03-18" AND bD < "2013-03-25") OR (bD >= "2012-03-19" AND bD < "2012-03-26") OR (bD >= "2011-03-21" AND bD < "2011-03-28"))) AND (((bD < "2013-03-27"))) AND (ac <> 0) GROUP BY pD_pW_T, aRD_y, aRD_y_name

即在生產中的代碼已經工作了周。

減少執行查詢的表的數量似乎工作。

回答

1

看起來你的表格中有一個模式不匹配:aRD_y在一個表中有整型,在另一個表中有布爾型。如果你嘗試將這些表結合在一起,你會得到一個錯誤。

我將在內部提交一個錯誤以改善此錯誤消息。感謝報告!

+1

您好,非常感謝您的回覆。爲了使查詢通過,我必須將所有Nulls轉換爲相應的類型。我希望有人可以使用這個解決方案解決他們的問題 – dekkerr

相關問題