匹配 Teradata Sql 中两个表的数据值

问题描述

使用 teradata:我有两个包含 10 条记录和 3 个变量的表。除了一个变量中的三个值外,所有列和值都相同。 我的任务是通过不硬编码任何值来更改 table2 的代码,其中两条记录都匹配。 第二个表是由第一个表创建的,因此无法通过连接等选择值。

代码

    Create multiset table table2 as (
    Select * from table1 )
    With data primary index(var1);

例如:

Var1 Var2 Var3
1 ABC 20
2 编码 30
3 kgk 87
4 kjj 98
5 gvy 67
6 jbn 78
7 hvb 56
8 ihg 62
9 jhn 22
10 hbn 34
Var1 Var2 Var3
1 ABC 20
2 编码 30
3 kgk 87
4 kjj 98
5 gvy 67
6 jbn 78
7 hvb 56
8 ihg 77
9 jhn 56
10 hbn 23

解决方法

不确定你想要什么,但你可以使用exists找到所有匹配的记录,如下所示:

select t.* from table2 t
  where exists 
       (select 1 from table1 tt
         where t.var1 = tt.var1 and t.var2 = tt.var2)