Используйте UNPIVOT.Например:
;WITH t AS(
SELECT * FROM (VALUES(1,'Test',50,25,10,15),(2,'QA',60,20,20,20),(3,'Impl',40,0,20,20)
)x(ID, Phase, [Total Hours], Team1, Team2, Team3)
)
SELECT ID,Phase, [Total Hours], [Team Name], [Team Hour]
FROM t
UNPIVOT
([Team Hour] FOR [Team Name] IN (Team1, Team2, Team3)) AS unpvt
WHERE [Team Hour] > 0