So I know what needs to be done Like the original query, but displays all top 40 tags.
Q&A for people organizing, marketing or licensing open source development projects
-- Generalist Progression -- So I know what needs to be done declare @temp table (id int identity(1,1), TagName char(128), score int); with tags40 as ( select top 40 tagid from posttags group by tagid order by count(*) desc ), answers as ( select score, id, parentId from posts -- find responses of questions where communityowneddate is null -- which are non-comm-wiki and posttypeid = 2 -- answers and owneruserid = ##UserId## -- by you ) insert @temp(TagName, score) select t.TagName, sum(a.score) as score from answers a inner join posttags pt on pt.postid = a.parentId -- find tags of your answers right join tags40 f on f.tagid = pt.tagid -- which are one of the top 40s inner join tags t on f.tagid = t.id group by t.tagname order by score desc select *, case when score >= 15 then '' else '!' end from @temp