Google bigquery 选择大查询数据集中的最新表-标准SQL语法
我的数据集包含多个具有类似名称的表: e、 g 首先是附件20180911\u 204956Google bigquery 选择大查询数据集中的最新表-标准SQL语法,google-bigquery,Google Bigquery,我的数据集包含多个具有类似名称的表: e、 g 首先是附件20180911\u 204956 第一次粘贴20180911 160004 首先是附件20180911\u085559 首先是宣誓书20180910\u 201323 首先是宣誓书20180910 201042 首先确定日期20180910\u080006 附件4221首件20180909首件160707 此查询使用\uuuu TABLES\uu SUMMARY\uuu方法标识最新数据集(根据yyyymmdd\uHHMMSS命名约定)
第一次粘贴20180911 160004
首先是附件20180911\u085559
首先是宣誓书20180910\u 201323
首先是宣誓书20180910 201042
首先确定日期20180910\u080006
附件4221首件20180909首件160707 此查询使用\uuuu TABLES\uu SUMMARY\uuu方法标识最新数据集(根据yyyymmdd\uHHMMSS命名约定)
SELECT max(table_id) as table_id FROM `modemutti-8d8a6.feed_first.__TABLES_SUMMARY__`
where table_id LIKE "affilinet_4221_first_%"
SELECT * FROM `modemutti-8d8a6.feed_first.*`
WHERE _TABLE_SUFFIX = "affilinet_4221_first_20180911_204956"
此查询使用\u table\u后缀方法从特定表中提取所有值
SELECT max(table_id) as table_id FROM `modemutti-8d8a6.feed_first.__TABLES_SUMMARY__`
where table_id LIKE "affilinet_4221_first_%"
SELECT * FROM `modemutti-8d8a6.feed_first.*`
WHERE _TABLE_SUFFIX = "affilinet_4221_first_20180911_204956"
此查询结合了\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu摘要(首先返回词缀\u4221\u20180911\u204956
)和\u表后缀
SELECT * FROM `modemutti-8d8a6.feed_first.*`
WHERE _TABLE_SUFFIX = (
SELECT max(table_id) FROM `modemutti-8d8a6.feed_first.__TABLES_SUMMARY__`
where table_id LIKE "affilinet_4221_first_%")
此查询失败:
错误:无法将INT64类型的字段“modemio\u cat\u level”读取为字符串
你知道为什么会发生这种情况,或者我如何解决这个问题吗
------------编辑------------
@Mikhail解决方案工作正常,但处理大量数据。见Vs。另一个解决办法是
SELECT * FROM `modemutti-8d8a6.feed_first.affilinet_4221_first_*` WHERE _TABLE_SUFFIX =
(
SELECT MAX(_TABLE_SUFFIX) FROM`modemutti-8d8a6.feed_first.affilinet_4221_first_*`
)
但与显式查询相比,它处理的数据量也要大得多。有没有办法通过UI中的视图实现,或者我应该通过API使用Python/Java SDK?试试下面的方法
#standardSQL
SELECT * FROM `modemutti-8d8a6.feed_first.affilinet_4221_first_*`
WHERE _TABLE_SUFFIX = (
SELECT REPLACE(MAX(table_id), 'affilinet_4221_first_', '')
FROM `modemutti-8d8a6.feed_first.__TABLES_SUMMARY__`
WHERE table_id LIKE "affilinet_4221_first_%"
)
试试下面
#standardSQL
SELECT * FROM `modemutti-8d8a6.feed_first.affilinet_4221_first_*`
WHERE _TABLE_SUFFIX = (
SELECT REPLACE(MAX(table_id), 'affilinet_4221_first_', '')
FROM `modemutti-8d8a6.feed_first.__TABLES_SUMMARY__`
WHERE table_id LIKE "affilinet_4221_first_%"
)
这是预期的,绝对不是建议的,而只是回答您关于如何解决您在问题中描述的具体问题的问题!这是预期的,绝对不是建议的,而只是回答您关于如何解决您在问题中描述的具体问题的问题!