Scusa piero.mac ......
Ma ci sono delle cose che non capisco.
considerando le due tabelle di prima :
tab1 (articoli) :
modello
tessuto
colore
tab2 (agg_articoli)
agg_modello
agg_tessuto
agg_colore
Faccio ad esempio questa query per trovare tutti i record che sono in entrambe le tabelle.
codice:
$sql_nuovi="SELECT * FROM agg_articoli, articoli WHERE agg_articoli.agg_modello = articoli.modello AND agg_articoli.agg_tessuto = articoli.tessuto AND agg_articoli.agg_colore=articoli.colore";
Mi restituisce due record su 1701.
E' giusta, in effetti ci sono solo due record uguali fra le due tabelle, che abbiano cioè lo stesso modello, tessuto, colore.
Se provo l'inverso :
codice:
$sql_nuovi="SELECT * FROM agg_articoli, articoli WHERE agg_articoli.agg_modello <> articoli.modello AND agg_articoli.agg_tessuto <> articoli.tessuto AND agg_articoli.agg_colore <> articoli.colore";
Mi vengono fuori risultati ciuccchi 34885 record (cavolo ecco perchè era lento me ne accorgo adesso), mentre avrebbero dovuto essere 1699.
Sicuramente sbaglio io, le macchine hanno la testa di ferro.
Perchè nel primo caso mi da il risultato giusto, invece nel secondo no ? La logica non è la stessa ?
Quale è la sintassi giusta quando voglio confrontare tre campi per ogni tabella nella mia query ?
Devo per caso usare le unioni esterne ?
ciao