no lo había pensado de esa forma, al final modifiqué un poco la consulta para evitar la consulta anidada y me ha quedado así:
Código SQL:
Ver originalSELECT p.*
FROM Personas p INNER JOIN Licencias l ON l.idPersona = p.Id
WHERE l.Tipo IN ('X', 'Y')
GROUP BY p.id
HAVING COUNT(l.id) = 2
que es justo lo que necesito, así que solucionado el tema.
Gracias, tenia como un año de no tocar SQL