我对soql的Salesforce经验有限,需要将其应用于bigquery中的此问题。
上下文: 我有4个不同的数据集,这些数据集的列名不同,顺序从7000行到35000行不等,所有这四个数据集内都包含重复的行,并且它们之间共享重复的行。
目标: 我想要一个没有重复行的数据集。
我的直觉: 我觉得我应该标准化列名,将它们全部添加到同一张表中,并采用这种方法Remove Duplicate Data in bigquery
与此同时,我觉得将每个数据集上载到自己的表中并使用联接或其他方式写入新表可能更好。我在这方面确实没有经验来做出明智的决定。
我选择bigquery soley是因为如果有更好的解决方案,我可以打开它。
答案 0 :(得分:0)
您可以使用union
:
select a as x, b as y, c as z
from table1
union distinct
select d, e, f
from table2
union distinct
select g, h, i
from table3
union distinct
select j, k, l
from table4;
union
删除表内和表间的重复项。这将返回名称为x
,y
和z
的列。