você pode usar
GROUP BY cláusula, HAVING cláusula e COUNT() neste problema, não há necessidade de participar de uma subconsulta SELECT PersonName, MAX(Flower) flowerName
FROM TableName
GROUP BY PersonName
HAVING COUNT(DISTINCT Flower) = 1