所以我有一张表格,显示该员工和该员工的所有团队成员,如此
empl team_member
a b
a c
b a
b c
c a
c b
x z
z x
y w
y q
w y
w q
q y
q w
我理想的想要是创建一个看起来像这样的视图
empl team
a 1
b 1
c 1
x 2
z 2
y 3
w 3
q 3
因此,查看第一个表,您可以看到A和C是相关的,C和A是相关的,这是相同的。我想进行每次组合并只是制作一个ID来说明那些人属于同一个团队。有谁知道如何使用DB2将第一个表数据转换为第二个?
答案 0 :(得分:0)
你可以试试这个来得到你想要的东西:
select empl, dense_rank() over(order by case when min_m < empl then min_m else empl end) as team
from (
select empl, min(team_member) as min_m
from my_table
group by empl
) as a
但我非常同意雷 - 有一张桌子上有所有可能的关系,这是一个非常糟糕的设计。
您可能需要维护新表并按视图替换当前表以提供一些兼容性。