我需要有关如何使用 BigQuery UNNEST 函数的帮助。我的查询:
我有如图所示的表,我想取消嵌套当前由逗号分隔的字段“域”(字符串类型),以便我将每个逗号分隔的域放入每个“acname”的不同行中。所需的输出也包含在图像中:
我试过这个逻辑,但没有奏效:
选择 acc.acname,acc.amount,acc.domains 作为 accdomains from project.dataset.dummy_accountas acc CROSS JOIN UNNEST(acc.domains)
但这给出了错误“在 UNNEST 中引用的值必须是数组。UNNEST 包含字符串类型的表达式”。该错误完全有道理但不明白如何将字符串转换为数组。
有人可以帮助解决问题并解释一下,它实际上是如何工作的。谢谢你。
我有两个字符串类型字段“源”和“详细信息”,其中任何一个都具有空值。现在我连接了由连字符(-)分隔的两个字符串字段;但由于 NULL 值,输出也是 NULL。
请参阅由实际输出和预期输出(突出显示的黄色)组成的图像。
有人可以建议如何获得预期的输出吗?
我使用的查询:
SELECT Source, Detail, CONCAT(cast(Source as string), "-", cast(Detail as string)) AS actualoutput FROM tablename