Teradata - 两个表之间的连接 - 保留第一个表中的值

洛洛

假设我有接下来的 2 张桌子。在第一个,我有最可信的信息。第二个信息不太可靠。这个想法是创建第三个表,保留第一个表的所有信息,并仅添加第一个表没有的字段。

初始表

       user    rank   id_best
        1       1       'A'
        1       2       'P'
        1       3       'E' 
        2       1       'Q'
        2       2       'E'
        3       1       'P'
        3       2       'O'
        3       3       'C'

中间表

       user    rank   id_best
        1       1       'B'
        1       2       'D'
        1       3       'R'
        1       4       'Q' 
        1       5       'W'  
        2       1       'T'
        2       2       'Y'
        2       3       'S'
        2       4       'Q'
        2       5       'E'
        3       1       'Y'
        3       2       'E'
        3       3       'S'
        3       4       'A'
        3       5       'T'

决赛桌

       user    rank   id_best
        1       1       'A'
        1       2       'P'
        1       3       'E'
        1       4       'Q' 
        1       5       'W'  
        2       1       'Q'
        2       2       'E'
        2       3       'S'
        2       4       'Q'
        2       5       'E'
        3       1       'P'
        3       2       'O'
        3       3       'C'
        3       4       'A'
        3       5       'T'
戈登·利诺夫

这是一个优先级查询。一种方法使用如下union all逻辑:

select o.*
from original o
union all
select i.*
from intermediate i
where not exists (select 1
                  from original o
                  where o.user = i.user and o.rank = i.rank
                 );

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据第一个表的ID对第二个表中的值求和,并将值插入第一个表中

Excel:从表中获取第一个值

SQL从表中获取第一个值

追加两个表-联合在SQL(Teradata)中不起作用

从第一个表到另外两个表选择值

如何连接Teradata中的两个表,其中根据条件计算输出列?

两个表之间的SQL连接帮助

如何基于组的第一个值联接两个表

一个查询中两个表的Teradata减列

Mysql在两个表中插入其中第一个表具有外键并更新第一个表

两个不可连接表之间的SQL SELECT

Teradata SQL中的MODE-从范围中排除一个值,并使用多个表

内部联接两个表,并为第二个表的第一个表中的每个条目返回最大值

连接两个表,列出第一个表的所有结果

使用第一个表中的值一次更新两个表

SQL 两个左连接只产生第一个表中的数据

JOIN 两个表,但只在每个唯一记录的第一个实例中包含第一个表中的数据

SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

过滤两个表之间的连接结果

mysql中两个表之间的连接

连接两个表,检查第一个表中的一条记录是否与第二个表中的多条记录匹配

在 ID 条件下连接两个表,第一个表中的日期在另一个表中的其他两个日期之间

如何在sql server中使用内连接来连接两个表并覆盖第一个表中的

如何连接 2 个表并在 PostgreSQL 的第一个表中嵌套其他表的值列表?

比较两个表的两个变量,并获取两个变量中单行的值在第一个表中但不在第二个表中的行

基于第一个表中的值的连接表中的最大值

如何根据第一个表中的非唯一 id 连接两个表 (SQLite 3.12.2)

MySQL:两个表之间简单但奇怪的“连接”

Kusto - 连接两个表并计算第一个表和第二个表中第一个表中每条记录的键