Questo è quello che hai scritto tu
Ed è assolutamente corretto sintatticamente. Io dicevo solo di usare un modo diverso di scrivere il join, ma solo perchè io uso quello e lo trovo più chiaro. Con riferimento alla tua query:codice:SELECT DISTINCT tb_citta.Provincia, tb_ricerca.Id_Ditta, tb_ricerca.RagioneSociale FROM ((tb_citta INNER JOIN tb_ricerca ON tb_citta.Provincia=tb_ricerca.Provincia) INNER JOIN tb_indici ON tb_indici.Id_Ditta = tb_ricerca.Id_Ditta) WHERE Regione='$_GET[isc]' AND Settore='$_GET[ssc]' ORDER BY RagioneSociale
in pratica elenchi nella clausola FROM le tabelle di cui vuoi effettuare il join separate dalla cirgola e nella clausola WHERE elenchi le condizioni secondo cui unire le tabelle che sono poi le stesse che hai inserito nella tua query dopo ON (qualcosa = qualcos'altro).codice:SELECT DISTINCT tb_citta.Provincia, tb_ricerca.Id_Ditta, tb_ricerca.RagioneSociale FROM tb_citta, tb_ricerca, tb_indici WHERE tb_citta.Provincia = tb_ricerca.Provincia AND tb_indici.Id_Ditta = tb_ricerca.Id_Ditta AND Regione='$_GET[isc]' AND Settore='$_GET[ssc]' ORDER BY RagioneSociale
Riguardo alla costruzione della tabella temporanea se scrivi questo
Lui ti crea una tabella temporanea che ha per colonne gli elementi che hai selezionato ovvero Provincia, Id_Ditta e RagioneSociale e per righe il risultato della SELECTcodice:CREATE TEMPORARY TABLE nomeTabella SELECT DISTINCT tb_citta.Provincia, tb_ricerca.Id_Ditta, tb_ricerca.RagioneSociale FROM ((tb_citta INNER JOIN tb_ricerca ON tb_citta.Provincia=tb_ricerca.Provincia) INNER JOIN tb_indici ON tb_indici.Id_Ditta = tb_ricerca.Id_Ditta) WHERE Regione='$_GET[isc]' AND Settore='$_GET[ssc]' ORDER BY RagioneSociale
spero sia più chiaro
ciauz


Rispondi quotando