EnVisageOnline/Main-RMO/Database/Scripts/20150423/01_Update_scenario_teams.sql

36 lines
1.1 KiB
Transact-SQL

-- To get comments and questions about this script contact SA
USE [EnVisage]
GO
begin transaction
-- Insert teams to scenarios from their projects (project parts)
INSERT INTO Team2Scenario (ScenarioId, TeamId, Allocation)
SELECT C.Id, A.TeamId, 0 FROM Team2Project A
INNER JOIN Project B ON (A.ProjectId = B.Id)
INNER JOIN Scenario C ON (B.Id = C.ParentId)
WHERE (C.Type <> 9) AND
(NOT EXISTS(SELECT 1 FROM Team2Scenario D
WHERE (D.ScenarioId = C.Id) AND (D.TeamId = A.TeamId))
)
-- Set 100% allocation to the added into scenario teams, if the scenario has single team with allocation = 0%
UPDATE Team2Scenario SET Allocation=100
WHERE Team2Scenario.ScenarioId IN
(
SELECT A.ScenarioId FROM Team2Scenario A
GROUP BY A.ScenarioId
HAVING (COUNT(1) = 1) AND SUM(A.Allocation) = 0
)
-- Set 50% allocation to the added into scenario teams, if the there where added 2 teams to scenario (both 0% alloc)
UPDATE Team2Scenario SET Allocation=50
WHERE Team2Scenario.ScenarioId IN
(
SELECT A.ScenarioId FROM Team2Scenario A
GROUP BY A.ScenarioId
HAVING (COUNT(1) = 2) AND SUM(A.Allocation) = 0
)
commit transaction