[Soci SLIP] suggerimento SQL

llcfree llcfree a gmail.com
Mar 27 Mar 2012 10:13:41 CEST


PS: quello che serve a te e' il "natural join", per quel che capisco del
tuo problema e verifica tu se e' vero, ma comunque qui c'e' una buona
spiegazione del join in generale, basato su un esempio di due tabelle
tipo il tuo:

http://it.wikipedia.org/wiki/Join_%28SQL%29

Loredana

On Mon, 2012-03-26 at 22:29 +0200, llcfree wrote:
> Ti faccio un esempio preciso, cosi' magari e' chiaro.
> 
> Questa e' la tua prima tabella (puo' avere quante colonne vuoi, e
> quante righe (record) vuoi:
> 
>   cat tab1.txt
> Abetine x1 x2 x3
> Pinete y1 y2 y3
> Laricete z1 z2 z3
> Faggete w1 w2 w3
> Quercete k1 k2 k3
> 
> Questa e' la tua seconda tabella:
>   cat tab2.txt
> Abetine Conifere
> Faggete Latifoglie
> Quercete Latifoglie
> Pinete Conifere
> Laricete Conifere
> 
> sort di entrambe: ordiniamo la prima colonna in ordine alfabetico (la
> chiave comune, su cui poi facciamo il join)
> 
>   sort -k1,1 tab1.txt > w0
>   sort -k1,1 tab2.txt > w1
> 
> Poi facciamo il join (se non specifico un parametro, il join e' sulla
> prima colonna, la chiave comune):
> 
>   join w0 w1 > w2
> 
> E voila':
> 
>   cat w2
> Abetine x1 x2 x3 Conifere
> Faggete w1 w2 w3 Latifoglie
> Laricete z1 z2 z3 Conifere
> Pinete y1 y2 y3 Conifere
> Quercete k1 k2 k3 Latifoglie
> 
> Vale per la tabellina tab1.txt e vale per la tabellona con 2000 records.
> E se i record sono solo 2000, si fa in pochi secondi. Se vuoi, mandami
> le tabelle e te lo faccio io.
> 
> Sicuramente c'e' un'operazioone di join in mysql, visto che join e
> project sono le due operazioni fondamentali di qualsiasi database
> relazionale (sql e' il linguaggio dei database relazionali, "quasi"
> standard, ma non standard, come vedi, visto che access e mysql lo
> implementano in modo diverso).
> 
> Loredana
> 
> On Mon, 2012-03-26 at 22:04 +0200, llcfree wrote:
> > On Mon, 2012-03-26 at 21:29 +0200, Mauro Mosso wrote:
> > 
> > > Va beh i PFT sono semplicemente i Piani Forestali Territoriali, che
> > > hanno la suddivisione in categorie molto specifiche che io devo
> > > raggruppare.
> > 
> > > Avendo una tabella con 2.000 record in cui c'č un campo CATEGORIE con
> > > all'interno Abetine, Pinete, Laricete, Faggete, Quercete, etc etc,
> > > 
> > > Ho aggiunto un campo che si chiama CLASSE_ACC, dove vado a mettere
> > > Conifere per Abetine, Pinete e Laricete e Latifoglie per Faggete e
> > > Quercete.
> > > 
> > > Ho un'altra tabella (TAB2) dove ho scritto che:
> > > Abetine    Conifere
> > > Faggete   Latifoglie
> > > Quercete Latifoglie
> > > Pinete     Conifere
> > > Laricete   Conifere
> > > 
> > > Ora da linea di comando posso fare e funziona:
> > > 
> > > UPDATE `mva`.`pft_studio_1` SET `CLASSE_ACC` = 'Conifere' WHERE
> > > `pft_studio_1`.`CATEGORIA` = 'Abetine
> > > 
> > > e cosė via per tutte le voci di CATEGORIA, ma siccome sono ben 25 le
> > > categorie, volevo cercare un modo di farglielo fare prendendo i dati
> > > dalla tabella TAB2.
> > 
> > Il modo e' fare un join delle tue tabelle, non modificarle una ad una.
> > Credimi :) 
> > 
> > Loredana
> > 
> > _______________________________________________
> > Soci mailing list
> > Soci a mail.pinerolo.linux.it
> > https://liszt.softwareliberopinerolo.org/vecchiamlsoci/
> 
> 
> _______________________________________________
> Soci mailing list
> Soci a mail.pinerolo.linux.it
> https://liszt.softwareliberopinerolo.org/vecchiamlsoci/





Maggiori informazioni sulla lista Soci