我有一张桌子考虑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
答案 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};