Allora... non puo' andare la struttura che hai impostato

ripeto: La chiave primaria puo' essere una soltanto per ogni tabella. Forse usi il termine chiave primaria in modo scorretto.

se fai un riferimento con una chiave esterna questa deve essere dello stesso tipo: se numerica da un lato lo deve essere pure dall'altro.

Non e' tanto una questione di query ma piuttosto di impostazione della struttura del database.