Use conditional aggregation:
SELECT Col1
FROM Table
GROUP BY Col1
HAVING COUNT(DISTINCT col2) > 1 AND
COUNT(CASE WHEN col2 = 'Banana' THEN 1 END) >= 1
You can conditionally check groups Col1that have at least one value 'Banana', using COUNTwith an expression CASEinside it.
, COUNT DISTINCT, Col1. , Col2, , DISTINCT.