在合并表时,需要指定要使用的列名。可以在查询中使用完全限定符(table_name.column_name)来避免列名的歧义。例如:
MERGE dataset.target_table T
USING (
SELECT *
FROM dataset.source_table
) S
ON T.id = S.id
WHEN MATCHED THEN
UPDATE SET
T.some_column = S.some_column,
T._PARTITIONDATE = S._PARTITIONDATE
WHEN NOT MATCHED THEN
INSERT (id, some_column, _PARTITIONDATE)
VALUES (S.id, S.some_column, S._PARTITIONDATE)
在上面的示例中,我们将完全限定的“T._PARTITIONDATE”用于更新和插入语句,以避免在合并表时出现列名的歧义。