需要您的帮助,以下是我在Postgres中的表结构
Eid Teamid Working Days
1000067 166570 21
1000075 163138 21
1000086 163077 21
1000086 185102 21
记录1000086有两支球队,我必须将其中一支球队更新为0天。当用户界面中显示此内容时,经理可以更新,但是请您帮我提供更好的解决方案吗?
我尝试使用其他查询,但发现它有点棘手。
答案 0 :(得分:0)
我认为此解决方案有效
更新resourcetracker_totaldays设置total_days = 0,其中id =
从中选择ID
(SELECT id,employee_id,total_days,oracle_sub_team_code,ROW_NUMBER()OVER(PARTITION BY employee_id)AS排名
FROM resourcetracker_totaldays
其中month_value ='NOVEMBER')al
排名> 1
我正在查找使该记录在该表中出现第2次,第3次出现的排名,我正在使用排名> 1的记录并将所有这些total_days值更新为0,这将在表中包含所有记录,但是只能有一个团队的total_days。