【发布时间】:2020-05-25 20:16:48
【问题描述】:
我想使用BigQuery 数据库中的文字值编写MERGE 查询。
我试过这个:https://stackoverflow.com/a/35659674/5659025(SQL Server 版本)但 BigQuery 返回错误:“找不到表值函数”
是否有可能在BigQuery 中实现?如何实现?
【问题讨论】:
-
您能否详细说明您想在 BigQuery 中做什么?所以我可以帮你写你的查询。此外,根据文档 “MERGE 语句是一个 DML 语句,它可以将 INSERT、UPDATE 和 DELETE 操作组合到一个语句中并以原子方式执行操作。” 链接:cloud.google.com/bigquery/docs/reference/standard-sql/…
-
@AlexandreMoraes 假设我们有一个表,其中包含列“名称”和“值”以及行(“Alex”,10)。我想合并文字值(“Alex”,15)和(“Dmitry”,20)。 db 中的结果应该是:("Alex", 15), ("Dmitry", 20)。在 SQL Server 中,最好的方法是在 db 表和文字值之间使用
MERGE命令。问题是我不能(或不知道)如何在 BigQuery 中做到这一点 -
好的,我明白了。因此,merge 函数用于 UPDATE、DELETE 或 INSERT 表中的行。根据您所说的,您似乎想合并两个表中的所有行。如果这是问题,您可以使用 UNION ALL 语句,如下所示:Select Name, Value from table_a UNION ALL Select Name, Value from table_b。这是你要找的吗?
-
如果符合您的预期,您能给我一个更新吗?
-
@AlexandreMoraes 不,你没有正确理解我。我想将表与文字值(在查询中硬编码的值)合并
标签: sql merge google-bigquery