Il senso della query è quello, cioè cercare i velisti per i quali il numero di barche diverse coincide con il numero totale di imbarcazioni, quindi è sufficiente fare un count(distinct()) delle stesse.

Gli errori sintattici sono sul count(select) anzichè select count e sull'having necessario per confrontare il numero di barche diverse con la tabella barche.