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