PDA

View Full Version : [MySQL] leggere i dati contemporaneamente da due tabelle


jk-koldus
07-06-2008, 19:40
Ciao ragazzi, volevo fare una query che leggesse nello stesso momento i dati da due tabelle identiche.

Ho provato a fare "SELECT * FROM tabella1, tabella2;"

ma i dati tornano con le due tabelle unite e soprattutto le voci triplicate...
faccio un esempio se la tabella1 (e quindi la due perchè sono uguali) avessero i campi:

Campo1, Campo2 e Campo3

a me torna una cosa del tipo
Campo1->Tabella1;Campo2->Tabella1;Campo3->Tabella1;Campo1->Tabella2;Campo2->Tabella2;Campo3->Tabella2;

e se le voci sono 3 per entrambe le tabelle a me ne tornano 9

il_toby
07-06-2008, 19:53
se le tabelle sono uguali usa la union:

select * from tabella1
union
select * from tabella2
union ......

nuovoUtente86
07-06-2008, 19:54
Ovvio che sia cosi, quell' istruzione efettua il prodotto cartesiano tra le tabelle, ovvero una Join Naturale senza campi comuni. Se vuoi stabilire dei parametri di confronto pe rla Join stessa devi inserirli nella clausola WHERE o in alternativa utilizzare la combinazione JOIN e ON .

jk-koldus
07-06-2008, 20:16
volevo una cosa del tipo SELECT * FROM tabella1 UNION SELECT * FROM tabella2 ma che poi il MySQL me li trattasse come tabella unica.. se invece ordino per un campo mi ordina prima una tabella e poi l'altra...

comunque grazie per le tempestive risposte :)

jk-koldus
07-06-2008, 20:17
mi rimangio quello che ho detto! funzioan perfettamente! grazie mille :)