Salve, sono del dolore più totale, devo risolvere il seguente problema e non sò più dove sbattere la testa:

Allora ho X tabelle strutturate nel seguente modo (prendo solo i campi che mi interessano):

attivita_2010
Campo id
Campo codice
Campo data_apertura

attivita_2011
Campo id
Campo codice (codice cliente)
Campo data_apertura

Ho anche un registro che accomuna entrambe le tabelle:

registro_attivita
Campo attivita (dove viene trascritto l'id attivita_2010.id e attivita_2011.id)
Campo codice (corrispondente, ovviamente, ai campi codice delle tabelle anno)

Adesso, partendo dal registro, devo elencare tutte le attività aperte nel 2010 contestualmente a quelle del 2011, in ordine decrescente, ovvero:

attività 3/2011 ... ... ..
attività 2/2011 ... ... ..
attività 1/2011 ... ... ..
attività 199/2010 ... ... ..
attività 198/2010 ... ... ..
attività 197/2010 ... ... ..
attività 196/2010 ... ... ..
... ... ...

Ho fatto la seguente query:

SELECT registro_attivita.*, attivita_2010.*, attivita_2011.*
FROM registro_attivita
LEFT JOIN attivita_2010 ON registro_attivita.codice = attivita_2010.codice
AND registro_attivita.attivita = attivita_2010.id
LEFT JOIN attivita_2011 ON registro_attivita.codice = attivita_2011.codice
AND registro_attivita.attivita = attivita_2011.id

La quale mi restituisce correttamente il numero totale di attività, pescate ovviamente dalla tabelle registro attività, ma i campi relativi alle tabelle attivita_anno si riferiscono solo a quella del 2011

Insomma, è come se validasse una sola join...

Come posso fare? Ho provato anche con la INNER JOIN ma il totale delle attività restituite è pari al totale attività presenti nella tabella attività_2010

Vi prego di aiutarmi, sono disperato.

Grazie,
Pakepa