View Full Version : join in mysql
ho bisogno di una mano:
in mysql come si fa una full join?
ho due tabelle con gli stessi campi tranne uno e mi serve unirle, così ho pensato di fare una full join.
la query è questa:
select * from tab1 full join tab2 on (tab1.x = tab2.x ....)
la query però è sbagliata perché mi da errore. in sql però mi risulta che si faccia così per una full join, dove sbaglio?
grazie!
su quale db?
prova a togliere quel FULL, se non specifichi right left ecc.ecc e' full per forza.
oppure usa la sintassi:
select campo1, campo2, ecc ecc from tab1 t1, tab2 t2 where t1.x = t2.x
ho letto ora la documentazione, se non specifichi nulla intende cross join (prodotto cartesiano) per cui usa la seconda sintassi che ti ho indicato.
grazie sei stato gentilissimo
il problema è che conoscevo già la storia del separare le tabelle con la , ma non so perché non funziona! non mi sembra che faccia un join "full" perché se nella seconda tabella mancano dei dati questi non compaiono del tutto, cosa che con il full join non dovrebbe avvenire invece
Fammi un po' un breve esempio...
Comunque:
http://www.mysql.com/doc/en/JOIN.html
Originally posted by "recoil"
grazie sei stato gentilissimo
i con il full join non dovrebbe avvenire invece
non mi e' chiaro.
descriveresti brevemente cos'hai nelle tabelle e cosa ti aspetti dalla query?
si tratta di creare una pagina html partendo da paragrafi, testi e immagini immessi dall'utente.
in una tabella ho Utente,Pagina,Paragrafo,Posizione,Testo mentre nell'altra al posto del testo ho l'immagine (in entrambi i casi si tratta di codici che poi in altre tabelle vengono assengati al testo e immagine vera e propria).
quando faccio un paragrafo voglio i vari elementi ordinati per posizione.
quello che ricordo di sql è che una join dovrebbe fare al caso mio, mi ritroverei con una tabella in cui avrei tutto (ordinato per posizione) e in ogni tupla ci sarebbe uno dei due campi testo o immagine vuoti.
usando la virgola mi pare di aver capito che otterrei il full join ma non è così perché se provo a visualizzare sto famoso paragrafo mi da i testi ma non le immagini, eppure Utente,Pagina,Paragrafo sono gli stessi...
credevo di sapere sql un po' meglio e invece si è visto...
Prova a fare l'unione di due left join...
A left join B
Union
B left join A
Ovviamente solo a titolo esplicativo...
Originally posted by "cionci"
Prova a fare l'unione di due left join...
A left join B
Union
B left join A
grazie, domani provo ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.