- Home
- Categorie
- Coding e Sistemistica
- Coding
- Join articolato su 3 tabelle
- 
							
							
							
							
							
Join articolato su 3 tabelleSalve, 
 sto impazzendo per eseguire una query su 3 tabelle:- nelle tabelle 1 e 2 ci sono solo i campi: id auto-increment e il valore
- nella tabella 3 ci sono i campi: id auto-increment, id della tabella 1, id della tabella 2
 tabella1 ------------- id | valore tabella2 ------------- id | valore tabella3 ------------------------ id | id_t1 | id_t2Vorrei estrarre tutti i record delle tabelle 1 e 2 che non esistono nella tabella 3, utilizzando (id_t1 + id_t2) come chiave univoca. es: Risultato della query: ---------------------------------------------- valore_t1 | valore_t2 valore_t1 | valore_t2 valore_t1 | valore_t2 valore_t1 | valore_t2 valore_t1 | valore_t2E' possibile farlo? 
 1 Risposta 
- 
							
							
							
							
							ciao @w-t secondo me è sbagliato il modo in cui hai progettato la tabella 3. Se id_t1 + id_t2 può esserci una sola volta puoi crearti una chiave composta e quindi la tabella sarà tabella3 id_t1 | valore 
 id_t2 | valoreIn questo modo potrai fare la tua join ma manterrai la correlazione tra le varie tabelle. 
 
- 
							
							
							
							
							
Ciao 
 in un altro forum mi hanno risposto cosi:select t3.id, x.id_t1, x.id_t2 from ( select t1.id as id_t1 , t2.id as id_t2 from tabella1 t1, tabella2 t2) x left join tabella3 t3 ON x.id_t1 = t3.id_t1 AND x.id_t2 = t3.id_t2 where t3.id is NULL order by t3.id, x.id_t1, x.id_t2Ma mi da errore: Unknown column 't3.id_t1' in 'on clause' Non capiamo il perchè 
 1 Risposta 
- 
							
							
							
							
							@w-t se la struttura della tua tabella 3 è uguale a quella che hai postato sopra è normale. Riesci a postarci lo schema SQL così partiamo da quello?