Qualcuno mi può aiutare con una quesry che non riesco proprio a fare?

Mettiamo che ho 3 tabelle in mysql:

codice:
Tabella nome (nomi di animali per esempio)

id_nome int
nome varchar
altrecoseinutili


Tabella abilities (abilità che un animale può avere, cammina a 2 zampe a 4 rumina etc)

id_ability int
abilita varchar
difficolta int (quanto è difficle questa cosa per l'animale? è fittizia la cosa cmq cercate di capire :P)
max int (può imparare massimo "max" abilità di una detta difficoltà)


Tabella nome_abi (assegnazione di una o più abilità ad un animale)
id_nomabi int
id_nome int
id_abilty int
altrecose
In pratica mettiamo che ci sia il camminare a 2 zampe o a 4 zampe che hanno la difficoltà 1, mentre il parlare e l'usare le posate ha difficoltà 2. Aggiungetegi una 10 di esempi per ogni difficoltà ok? Fatto? Ora mettiamo che la scimmia possa apprendere "max" 2 abilità di difficoltà 2 e "max" 4 della difficoltà 1.

Con una query mi servirebbe contare quante abilità della stessa difficoltà conosce già un animale quindi è resgistrato in nome_abi, per ogni livello di difficoltà, e che mi resituisca il valore della difficoltà.

Per esempio "scimmia" sa camminare a 2 e 4 zampe, quindi sa usare 2 abilità di difficoltà 1. Mi deve quindi resituire difficoltà 1, quantità 2 per "scimmia".

Me sa che non sono stato tanto chiaro spero riusciate ad aiutarmi... in caso chiedete proverò ad essere più chiaro.

Grazie in anticipo!