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 original- SELECT 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 
