这类似于这个话题在这里: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。 –