当前位置: 首页 > 面试题库 >

BigQuery IF字段存在然后

邢卓
2023-03-14
问题内容

我正在对在特定时间范围内联合在一起的多个表运行查询。

过去,“模式”中不存在特定字段,但是在该时间范围的一半左右,该字段开始存在并开始填充数据。

有没有办法有条件地选择它(如果存在),否则用一个值任意填充一个命名字段?

像这样:

SELECT
  (CASE WHEN exists(my_field) THEN my_field ELSE "0" END) as "my_field"
FROM <somewhere>

问题答案:

下面应该给你方向

SELECT * FROM
(SELECT * FROM <somewhere w/o my_field>),
(SELECT * FROM <somewhere with my_field>)

假设原始表()中有a,b和c作为字段-如果您需要将缺失值从NULL更改为0,则可以使用上面的内容(见下文):

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>)


 类似资料:
  • 快速编辑:正如下面指出的,我应该做BFS,但我需要一个点来停止检索新字段,我还没有时间考虑。谢谢你的帮助! 我试图使用Java反射递归地获取类的字段,本质上创建一个树来显示 这是一个递归解析器,所以我认为递归显示函数是很酷的。不幸的是,它压垮了我。 示例类Foo,具有Class1和Class2字段,每个字段可以有更多不同类的字段: 我的递归方法: println已经用于测试,Foo的一个示例输出(

  • 问题内容: 在golang中,有没有办法查看是否可以将解编入结构的json字段与设置为null的json字段区分开?因为两者都将struct中的值设置为nil,但是我需要知道字段是否以该字段开头,并查看是否有人将其设置为null。 VS 当解组为结构时,两个json均为零。任何有用的资源将不胜感激! 问题答案: 使用以“拖延”解组过程决定做某件事之前要确定原始字节: 参观游乐场https://pl

  • 我很难相信这个问题还没有在某个地方被问到并回答过,但我找不到任何它的痕迹。

  • 问题内容: 我正在尝试优化我的Elasticsearch方案。 我有一个URL字段-我不想查询或过滤它,而只是检索它。 我的理解是,定义为的字段未建立索引,但仍存储在索引中。(请参阅http://www.slideshare.net/nitin_stephens/lucene- basics中的 幻灯片5 )这应该与Lucene UnIndexed相匹配,对吗? 这使我感到困惑,是否有一种方法可以

  • 我想按字段存在对我的ES搜索结果进行排序,假设我得到了字段“价格”,并希望所有有价格的结果都在顶部,所有没有价格的结果都在底部。我知道你可以做一个简单的排序并添加“缺失”:“_last”,例如: {“sort”:[{price':{missing':'u last',order':'asc'}}]} 但在这种情况下,结果也将按价格排序,我不想要它。 没有脚本有办法做到吗?

  • 问题内容: 我的愿望是搜索存在field_a而不存在fields_b的文档。有没有一种方法可以使用Kibana中的Lucene查询语法(Kibana的Discover部分中的Search字段)进行此操作。 我尝试使用 __missing_:field_b_ 失败( __exists_可行_ )。 我发现了这一点,但并没有太大帮助: 问题答案: 对于lucene搜索语法: 对于elasticsear