【问题标题】:How to UNNEST a REGEXP_EXTRACT_ALL in BigQuery?如何在 BigQuery 中 UNNEST 一个 REGEXP_EXTRACT_ALL?
【发布时间】:2020-07-19 20:18:58
【问题描述】:

我们正在尝试从 BigQuery 中的文本块中提取多行/每项一行。

我们似乎只能使用 UNNEST 提取数组中的第一项 - 而我们希望每个项都在自己的行中。

这是重复问题的代码。

SELECT * FROM
(
  SELECT 
    REGEXP_EXTRACT_ALL(blob, r"(.+)\s{2,}") AS antibiotic
  FROM
  (

    SELECT """
      Amoxicillin/Clavulanic Acid    I
      Ampicillin                     R
      Penicillin                     S
      """ 
    AS blob
  )  
), UNNEST(antibiotic) unnested_antibiotic

我们缺少什么?

【问题讨论】:

  • 请澄清 - 预期结果是什么
  • 为什么不在最外部的 SELECT 中只做SELECT unnested_antibiotic FROM ...?我没有看到问题。请校准
  • @MikhailBerlyant 恕我直言,您是一位圣人,能够始终如一地快速回答这些 BigQuery 问题。你说的对。我刚刚意识到代码没有问题。不知何故,BigQuery 中的 UI 设置为 display_rows = 1,因此它只在页面上显示一行结果,而不是像通常那样让我失望的许多结果。代码是正确的。删除问题或自己回答问题对我来说是正确的做法吗?谢谢

标签: regex google-bigquery


【解决方案1】:

在最外层的 SELECT 语句中使用 SELECT unnested_antibiotic FROM ... 而不是 SELECT * FROM ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多