Algo assim deve satisfazer a especificação:
SELECT f.bar
FROM frequents f
WHERE f.drinker IN ('John','Rebecca')
GROUP
BY f.bar
HAVING COUNT(DISTINCT f.drinker) < 2
- obtenha todas as
bar
para 'John' e/ou 'Rebecca' - recolher as linhas em uma única linha para cada
bar
- obter uma contagem de
drinker
para cada barra - descarte as linhas que tenham uma contagem de 2 (ou seja, John e Rebecca)
- deixando apenas valores de
bar
para John e não para Rebecca ou vice-versa