查询失败错误:无法通过前缀查询视图。匹配视图的部分列表是

Posted

技术标签:

【中文标题】查询失败错误:无法通过前缀查询视图。匹配视图的部分列表是【英文标题】:Query Failed Error: Views cannot be queried through prefix. Partial list of the matched views are 【发布时间】:2018-09-26 15:53:54 【问题描述】:

我正在尝试查询具有多个表和等效视图的数据集。我正在尝试仅使用 _table_suffix 查询表,但它返回错误“查询失败错误:无法通过前缀查询视图。匹配视图的部分列表-......” 我无法从数据集中删除视图。有没有办法只查询表而忽略视图?

SELECT COUNT(*), _table_suffix, DATE(created)
FROM `dataset.viewed_*`
WHERE _table_suffix like '%_page'

【问题讨论】:

不确定你为什么用 [google-analytics] 标记这个? 【参考方案1】:

您的选择是:

以不同的名称重新创建视图,使viewed_ 前缀与它们不匹配。 在匹配表名时使用比viewed_ 更长的前缀(如果可能),以便不包括视图名。 将您的表迁移到单个 partitioned table,这样您就不需要使用通配符了。

如果可能的话,我会建议第三种选择;使用分区表比尝试使用通用架构维护多个表要好得多。

【讨论】:

以上是关于查询失败错误:无法通过前缀查询视图。匹配视图的部分列表是的主要内容,如果未能解决你的问题,请参考以下文章

错误 360:无法修改子查询中使用的表或视图

SQL - 嵌套子查询

sqlserver 创建视图失败,原因:ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

无法使用 R dplyr 在旧版 SQL 查询中引用 SQL 视图

ElasticSearch05_模糊匹配背景fuzzy核心参数说明编写JAVA代码实现纠错

查询 MySql 视图时出现 SQLGrammar 错误