這類似於這個話題在這裏:BigQuery IF field exists THEN的BigQuery查詢第一個可用列
然而,我們只從一個表查詢,因此該表將只要麼A列或列B.我們發現,如果查詢2個表,其中一個有列A,另一個有列B,那麼下面的函數可以工作,但是對於我們的用例,我們只想查詢一個表,並且我們不知道哪列存在或包含數據。我們想要查詢存在幷包含數據的第一列。
--This query works
SELECT user_id,COALESCE(devices.A, B)
FROM mytable1,
mytable2
limit 100
-- This query does not work
SELECT user_id,COALESCE(devices.A, B)
FROM mytable1
limit 100
,我們得到該錯誤消息是 查詢失敗 錯誤:字段「devices.A」不是表「MYTABLE1」發現;你的意思是'devices.fieldthatexists'?
下面
重要的是,您可以使用投票下方發佈的答案左側的勾號標記接受的答案。請參閱http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235瞭解其重要性。答案投票也很重要。表決有用的答案。還有更多......當某人回答你的問題時,你可以查看該怎麼做 - http://stackoverflow.com/help/someone-answers。 –