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