所以我注意到在SQL Server中,Update语句的工作方式与Bigquery中不同,例如,在SQL Server中我们可以这样做:
UPDATE table1
SET table1.some_column = table2.some_column
FROM table1
LEFT JOIN table2 ON table1.some_value = table2.some_value
WHERE...
但问题是,将其移至Bigquery update,你不能像这样复制,因为根据我的理解,UPDATE将自动在要更新的表和FROM上的表之间执行INNER JOIN 子句,因此您不能在只想执行 LEFT JOIN 时执行相同的操作。例如,如果您只想在 Bigquery 中执行 INNER JOIN,您可以简单地执行以下操作:
UPDATE table1
SET table1.some_column = table2.some_column
FROM table2
WHERE table1.some_value = table.some_value
但是如果我需要执行 LEFT JOIN 而不是 INNER JOIN 该怎么办?我正在使用 Dataform 构建我的 Bigquery 表。