我需要在另一个表中给定角色的计数大于 1 的表中将值设置为 1。
表 cursillo.members 具有字段 memid 和 hsd。表 cursillo.teams 具有字段 memid(两者之间的链接),一个字段称为运动,另一个字段称为角色。
我想要完成的是与此类似的事情:
update cursillo.members_eligible p, cursillo.teams pp
set p.hsd=1
where p.memid = pp.memid AND (pp.role = 'HSD' OR pp.role = 'SD')
and pp.movement = 'Cursillo' AND count(pp.role) > 1;
或这个:
update members_eligibile
set hsd=1
from teams
where teams.memid=members_eligible.memid
and (teams.role = 'HSD' OR teams.role = 'SD')
and teams.movement = 'Cursillo'
and count(teams.role) > 1;
换句话说,如果给定的 memid 在 cursillo.teams 表中有多个记录,其中角色的值等于 HSD 或 SD,则将 cursillo.members_eligible.hsd 设置为 1。
我不知道如何处理 count() 部分。
谢谢,迈克·里德