【发布时间】:2022-01-08 04:22:06
【问题描述】:
我正在寻找将两个表组合在一起的最佳方法,该方法将根据电子邮件删除重复记录,优先使用“表 2”中的值替换任何重复记录,我已考虑完全外部联接和 UNION ALL但是 Union all 会太大,因为每个表都有 1000 列。我想创建这个组合表作为我的完整引用表并保存为视图,这样我就可以引用它,而不必总是在我已经很复杂的语句中添加联合或类似的东西。据我了解,完全外部连接不一定会删除重复项。我想:
一个。使用两个表中的所有列创建表(不适用于一个表中的记录的字段将只有空值)
b.根据电子邮件字段从此主表中删除重复记录,但仅删除表 1 记录并保留表 2 重复项,因为它们具有我想要的信息
c。左连接不起作用,因为两个表都有我想要保留的唯一记录,并且我希望从每个表中保留所有 1000 多列
我什至不知道这有多可行,但非常感谢您的任何回答!
【问题讨论】:
-
这是什么 DBMS(和版本)?有了这么多列,任何解决方案都将依赖于特定的 DBMS。
-
你的表应该是数据库而不是有那么多列
-
这是在 Google BigQuery 中。是的,你可能是对的,不过我不是数据库经理,这是我的工作。这只是为了创建一个视图,以便我可以更轻松地在我自己的任务的查询中引用它
标签: sql join google-bigquery union