mad000
26-08-2009, 10:30
llora ragazzi io ho questo compito da svolgere su un db oracle 9....
Ho dei casi in una tabella chiamata Indirizzo in cui ci sono parecchi dupiclati del tipo
id ds_indirizzo dove per l'indirizzo Via ROMA ci sono 2-3 record con id diversi..a cui sono legate altre 3 tabelle tramite id( e ci sono sempre diversi record per lo stesso indirizzo tipo facendo sempre l'esempio di via ROMA..ci sono una 50ina di record ke referenziano sempre lo stesso id di indirizzo usando quei 3-4 record presenti sulla tabella indirizzo)
faccio un esempio pratico per farvi capire meglio:
TAB_INDIRIZZO
id prefisso ds_indirizzo civico
0001 via roma 2
0002 via roma 2
0003 null via roma 2
TAB_UNITA'
id TIPO_UNITA indirizzo_id
001 appartamento 0001
002 appartamento 0001
003 appartamento 0003
004 appartamento 0002
005 appartamento 0002
(e altre tabelle con la stessa situazione kių pių ki meno)
Lo scopo č di rendere sulla tabella indirizzo un solo record per l'indirizzo di esempio VIA ROMA.. e quindi i vari record delle tabelle collegate ke referenziano quell'unico id presente su indirizzo
esempio della situazione che devo creare:
TAB_INDIRIZZO
id prefisso ds_indirizzo civico
0001 via roma 2
o casi come questo
0001 null via roma 2
TAB_UNITA'
id TIPO_UNITA indirizzo_id
001 appartamento 0001
002 appartamento 0001
003 appartamento 0001
004 appartamento 0001
005 appartamento 0001
essendo molti i casi di questo genere io sono riuscito a
costruirmi una select di partenza dove becco tutti questi indirizzi duplicati mettendoli uno sotto all'altro quelli duplicati..il cui il risultatoAbbreviato) č questo:
id prefisso ds_indirizzo civico
0001 via roma 2
0002 via roma 2
0003 via roma 2
0004 via xxx 22
0005 via xxx 22
0006 via yyy 11
0007 via yyy 11
Vi chiedo qualke consiglio di come svolgere la cosa..essendo una 40ina di casi in tutto sulla tabella indirizzo..vorrei fare una procedura partendo dalla select di cui sopra..creando un cursore..ma dopo non so come fare a tenermi in canna il primo id e far girare il cursore..nn so..era n'idea..
Sapreste aiutarmi?!
Ho dei casi in una tabella chiamata Indirizzo in cui ci sono parecchi dupiclati del tipo
id ds_indirizzo dove per l'indirizzo Via ROMA ci sono 2-3 record con id diversi..a cui sono legate altre 3 tabelle tramite id( e ci sono sempre diversi record per lo stesso indirizzo tipo facendo sempre l'esempio di via ROMA..ci sono una 50ina di record ke referenziano sempre lo stesso id di indirizzo usando quei 3-4 record presenti sulla tabella indirizzo)
faccio un esempio pratico per farvi capire meglio:
TAB_INDIRIZZO
id prefisso ds_indirizzo civico
0001 via roma 2
0002 via roma 2
0003 null via roma 2
TAB_UNITA'
id TIPO_UNITA indirizzo_id
001 appartamento 0001
002 appartamento 0001
003 appartamento 0003
004 appartamento 0002
005 appartamento 0002
(e altre tabelle con la stessa situazione kių pių ki meno)
Lo scopo č di rendere sulla tabella indirizzo un solo record per l'indirizzo di esempio VIA ROMA.. e quindi i vari record delle tabelle collegate ke referenziano quell'unico id presente su indirizzo
esempio della situazione che devo creare:
TAB_INDIRIZZO
id prefisso ds_indirizzo civico
0001 via roma 2
o casi come questo
0001 null via roma 2
TAB_UNITA'
id TIPO_UNITA indirizzo_id
001 appartamento 0001
002 appartamento 0001
003 appartamento 0001
004 appartamento 0001
005 appartamento 0001
essendo molti i casi di questo genere io sono riuscito a
costruirmi una select di partenza dove becco tutti questi indirizzi duplicati mettendoli uno sotto all'altro quelli duplicati..il cui il risultatoAbbreviato) č questo:
id prefisso ds_indirizzo civico
0001 via roma 2
0002 via roma 2
0003 via roma 2
0004 via xxx 22
0005 via xxx 22
0006 via yyy 11
0007 via yyy 11
Vi chiedo qualke consiglio di come svolgere la cosa..essendo una 40ina di casi in tutto sulla tabella indirizzo..vorrei fare una procedura partendo dalla select di cui sopra..creando un cursore..ma dopo non so come fare a tenermi in canna il primo id e far girare il cursore..nn so..era n'idea..
Sapreste aiutarmi?!