在BigQuery中,可以将新查询的结果写入新表。我希望仅当查询返回至少一行时才创建表。基本上我不想最终创建空表。我找不到这样做的选项。 (我正在使用Python库,但我想这同样适用于原始API)仅当查询不为空时,才从查询写入BigQuery中的表
0
A
回答
1
由于您必须在查询定义中指定目标,并且在运行时不知道它会返回什么,所以您可以把LIMIT 1
加到最后?
您可以检查job result object中的行号,然后在没有限制器的情况下重新运行查询,如果新表中有结果的话。
+0
对不起,我忘了提这个。当然,你可以按照你的建议分两步进行。我的问题是关于在一次通话中做到这一点。 –
+0
我从来没有在BigQuery中呆过那么久,但似乎并不像你所要求的那样。查询运行并将结果放入表中或存储器/应用程序中,并且在查询运行之前必须定义该结果。 – Bmo
1
没有办法一步到位。我建议运行查询,检查结果,然后使用WRITE_TRUNCATE执行表副本,以便将结果提交到最终位置(如果中间输出至少包含一行)。
相关问题
- 1. 仅当搜索字符串不为空时,ActiveRecord(SQL)才会查询多列
- 2. 从Bigquery查询中复制表
- 3. 当查询结果为非空时,从查询结果创建表
- 4. 的BigQuery查询不视图
- 5. 当查询使用通配符查询时,Bigquery无法从表中返回适当的数据
- 6. Mysql - 当且仅当第一个子查询返回空时才使用辅助子查询
- 7. 为不同的月份写入查询
- 8. 仅当浏览器关闭时才执行查询
- 9. 当重写网址时,查询参数为空
- 10. 查询为空
- 11. 重写子查询(不)作为加入
- 12. 如何JPA查询写入相当于MySQL查询
- 13. 子查询仅当它包含行时
- 14. 在查询中使用查询,但查询变为空
- 15. 的BigQuery查询重复场
- 16. 我可以在插入查询中写入插入查询吗?
- 17. BigQuery - 在同一查询的另一部分中查询子查询的结果
- 18. 的BigQuery查询最新表高效
- 19. 为条件相同的多重查询写入单个查询
- 20. 在Excel表格中写入查询c#
- 21. BigQuery子查询高效加入
- 22. 仅当表中的值不在表中时才加入表格
- 23. LINQ查询检查为空
- 24. 从查询查询中更新查询
- 25. 查询从表中
- 26. 打印查看BigQuery的查询结果
- 27. 从查询表中推导出时钟数据的SQL查询
- 28. 猪为空查询
- 29. 如何将temp表的查询重写为子查询或加入sql
- 30. BigQuery - 复杂相关查询
你不能使用某种默认设置吗?如果EMPTY然后使用默认值? – xCloudx8
@ xCloudx8不确定我们是否在同一页面上。我在说这个:http://stackoverflow.com/a/14634697/825190 –
我也不明白,bigquery中的每个查询都创建了一个表,即使它是匿名的。如果不是空的,必须有第二个操作来重写某个表。据我所知,你无法避免这种情况。 – Pentium10