问题描述
使用 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)