Qualcosa del genere dovrebbe soddisfare le specifiche:
SELECT f.bar
FROM frequents f
WHERE f.drinker IN ('John','Rebecca')
GROUP
BY f.bar
HAVING COUNT(DISTINCT f.drinker) < 2
- ottieni tutte le
bar
per 'John' e/o 'Rebecca' - comprimi le righe in un'unica riga per ogni
bar
- ottieni un conteggio di
drinker
per ogni barra - elimina le righe che hanno un conteggio pari a 2 (ovvero sia John che Rebecca)
- lasciando solo i valori di
bar
per John e non per Rebecca o viceversa