我正在为一个学生机构开发一个系统,他们想要在其中创建由项目经理,想法所有者和(该项目的)协作者组成的工作团队。每个团队将在最近三个学期(第六,第七和第八个)中从事一个项目。由于合作者没有获得通过本学期的资格,或者在极端情况下,只有“想法的所有者”晋升到下一学期,因此会出现许多问题。因此,在这里我必须生成一个更新,以删除重复的人员(“创意所有者”除外),并删除具有错误布尔值的人员,以使他们在团队中似乎无效。
总而言之,我必须隐藏那些与“想法的所有者”(主题)不在一起的人,以维持团队,因此继续与他们的项目联系起来,以将未来的学生纳入项目团队。
也许我每个学期(该学期)的所有科目都必须执行一次此程序,所以我要进行内部联接直到学期表。
ALTER PROCEDURE [dbo]. [Prox_CleanTeamUpdate]
AS
BEGIN
declare @idSemester nvarchar (6)
declare @idRol tinyint
exec prox_RolNameSelect 'Student', @idRol OUTPUT
exec pros_SemesterSelect @idSemester OUTPUT
Update CreateTeam set estate = 0 where exists
(Select pr.idProfile from Profile pr
inner join ProfileSubject ps on pr.idProfile = ps.idSubject
inner join Subject su on ps.idSubject = su.idSubject
inner join AcademicSubject acs on acs.idSubject = su.idSubject
inner join Academic aca on acs.idStudyProgram = aca.idStudyProgram
inner join CreateTeam ct on pr.idProfile = ct.idProfile
inner join TypeJob tj on ct.idJob = tj.idJob
inner join Team te on te.idTeam=ct.idTeam
where aca.idSemester=@idSemester y pr.idRol = @idRol
and su.idSubject = and
end