The Query Goes like this
DECLARE @dd TABLE (Username VARCHAR(250), WorkArea VARCHAR(50), Scope VARCHAR(50), Quality INT)
insert into @dd (Username ,WorkArea ,Scope ,Quality) select QAResource,WorkArea,ProjectScope ,quality from[PMT] .dbo.QADetailsnew
insert into @dd (Username ,WorkArea ,Scope ,Quality)select a.resources,a.work_area,a.scope, a.Quality from [workalloc] .[dbo] .work a
;WITH UserTotals AS
(
-- initial values
SELECT LEFT(Username, CHARINDEX(',', Username )-1) AS SingleUser, Quality, RIGHT(Username, LEN(Username) - CHARINDEX(',', Username)) AS Remainder
FROM @dd
WHERE CHARINDEX(',', Username)>0
union all
select Username as SingleUser,Quality, NULL as Remainder
FROM @dd
WHERE CHARINDEX(',',Username )=0
-- here starts recursive part
UNION ALL
SELECT LEFT(Remainder, CHARINDEX(',', Remainder)-1) AS SingleUser, Quality, RIGHT(Remainder, LEN(Remainder) - CHARINDEX(',', Remainder)) AS Remainder
FROM UserTotals
WHERE CHARINDEX(',', Remainder)>0
UNION ALL
SELECT Remainder AS SingleUser, Quality, NULL AS Remainder
FROM UserTotals
WHERE CHARINDEX(',', Remainder)=0
)
select distinct(SingleUser),(sum(Quality)/COUNT(SingleUser)) as QualityPercentage, 100-sum(Quality)/COUNT(SingleUser ) as ErrorPercentage
from UserTotals
group by SingleUser
The problem goes like this
that is,
Username Quality%
aa,bb,cc 100
aa 99
I get Answer in this case as
SingleUser Quality%
aa 99
bb 100
cc 100
if i change the order of the username i dont get the value
For Example
Username Quality%
bb,aa,cc 100
aa 99
In my query i get in this format as solution
SingleUser Quality%
aa 100
bb 100
cc 100
aa 99
I need the average as 99 for aa. even if the order of the username is changed