检查teradata中的II型

时间:2013-12-05 21:27:23

标签: sql teradata

我有一张桌子考虑A 字段A1,A2,其中A1是唯一/主键,A2是类型II字段。 现在我需要找到A1和A2,A2更新/更改。 有人可以帮忙查询一下吗?

示例数据

A1     A2   A3
emp1   1     2
emp2   1     3
emp3   1     4
emp3   2     4

我应该将输出作为

A1     A2   A3
emp3   1     4
emp3   2     4

2 个答案:

答案 0 :(得分:1)

select
<your table>.*
from
<your table>
inner join 
(select a1, count (a2) as a2recs, count(a3) as a3Recs from <your table> group by a1 having (count (a2) > 1 or count (a3) > 1)) a
on <your table>.a1 = a.a1.

内部查询为您提供在其他2列中的任何一列中具有多个值的所有A1s。您将其加入A1的原始表格。

答案 1 :(得分:0)

听起来您可能需要调查窗口聚合函数。以下内容可能会向您发送正确的路径:

SELECT A1
     , A2
     , MAX(A3) OVER(PARTITION BY A1, A2)
  FROM {MyDB}.{MyTable};