• SELECT

    GrpID, GrpName,

    ISNULL(NULLIF(MAX(CASE WHEN Spc <> 'Mixed' THEN Spc ELSE '' END), ''), 'Mixed') AS Spc

    FROM #mytable

    GROUP BY

    GrpID, GrpName

    HAVING

    MAX(CASE WHEN Spc = 'Mixed' AND PrvName = '' THEN 1 ELSE 0 END) = 1 AND

    COUNT(DISTINCT CASE WHEN Spc <> 'Mixed' THEN Spc END) < 2

    ORDER BY

    GrpID

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.