Sie können GROUP BY
verwenden Klausel, HAVING
-Klausel und COUNT()
bei diesem Problem keine Notwendigkeit, einer Unterabfrage beizutreten
SELECT PersonName, MAX(Flower) flowerName
FROM TableName
GROUP BY PersonName
HAVING COUNT(DISTINCT Flower) = 1