sql - 包含“。”的自动创建的 bigquery 字段名称存在问题。
问题描述
我使用一个简单的 ETL 工具将 QuickBooks 数据导入 Google BigQuery。伟大的!这一步唯一的挑战值得注意的限制是我不能做任何翻译……更像是一个 EL 工具。
也就是说,现在我想查询导入的表。BigQuery 中正确命名的字段(如txndate
)完全没有问题。但是,有些字段是格式abc.xyz
(例如,deposittoaccountref.value
),无法查询。这 ”。” 名称中的 BigQuery 显然令人困惑。
如果我转储整个表,我可以看到“。” 名称字段和相关的值。
但是,我无法针对这些字段创建自定义查询。它们不会出现在允许将字段名称拖放到查询中的自动生成模式中。
另外,我尝试手动输入字段名称并收到以下错误消息:Missing column alias. Any expression in a SELECT statement that is not a column from the original data source must be followed by an alias, for example: AS my_alias
.
我尝试引用字段名称并将字段名称括起来,但它们仍然抛出相同的错误。
我追溯到 QB API 文档,这确实是 Intuit 标记字段的方式。
最后,只要我可以查询这些字段,我就可以重命名它们以消除"."
问题。
请指教,谢谢!
解决方案
好的,我自己解决了这个问题。
在 bigquery 查询编辑器中解决此问题的方法是手动输入字段名称(即,在自动生成的模式中不可用)并将字段名称括起来。
例如,deposittoaccountref.value 变为 (deposittoaccountref.value)
现在,这会将结果集中的列标记为“值”,因此您可能希望将数据字段重新标记为不带“.”的内容。比如我把原来的deposittoaccountref.value修改为(deposittoaccountref.value)作为deposittoaccountref_value
希望这将在未来对其他人有所帮助!
推荐阅读
- javascript - 在 React 中按状态状态关闭选项卡时显示消息
- excel - 在 VBA 中运行求解器后尝试复制和粘贴范围时出现运行时错误“1004”
- python - Django CSS 未加载
- java - Java中的泛型传播
- javascript - 在对象数组中搜索并使用结果更新状态的正确方法
- laravel - 如何在 Laravel 中检查对象?
- kotlin - 如何使用带有箭头库的 kotlin 以函数式编程风格附加数据
- java - @Query 使用 SQL 查询插入表(DAO 层)
- c - 从标准中读取 C 中的特定模式
- sql - 如何使用 python 获取对象 MySQL:连接器游标