Sostituzione stringhe sulla base di una tabella di conversione

Puffetta

Nuovo Utente
16 Lug 2009
3
0
0
Ciao a tutti, ho bisogno del vostro aiuto!
Ho un elenco di 5mila voci che vorrei sostituire con 5mila codici di 4 cifre. Esempio:

Colonna A | Colonna B
----------------------------------
Elisabetta | 0001
Martina | 0002
Alessandro | 0003
....
Gianni | 5000

L'ordinamento non è importante, ciò che importa è che ad ogni codice sia abbinata univocamente una voce del mio elenco.
Si tratta quindi di realizzare una tabella di conversione, e questo credo di poterlo fare, affiancando alla colonna A, una colonna B con degli interi incrementali.

La mia esigenza è di usare poi questa tabella di conversione (o altri formati, magari da voi suggeriti...) per effettuare la sostituzione di queste 5mila voci che si ripetono, in un foglio con 200mila righe e 2 colonne. Esempio:

Colonna C | Colonna D
----------------------------------
Elisabetta | Alessandro
Martina | Gianni
Alessandro | Eisabetta
Martina | Alessandro
Elisabetta | Gianni

trasformarla così:

Colonna E | Colonna F
----------------------------------
0001 | 0003
0002 | 5000
0003 | 0001
0002 | 0003
0001 | 5000

Come posso fare? HELP!!!!
Sono aperta a soluzioni sia Excel che Mysql!

Grazie mille a chi potrà aiutarmi!!!
 
ciao
una possibile soluzione con mysql, comunque perovala prima di trasformare 200mila record (o fatti il backup), è un'idea di prima mattina e può esserci qualche errore

PHP:
<?php
/*
**** tabelle esistenti

tabella_1 con colonne  A e B dove
colonna A: nome
colonna B: id primary key autoincrement

tabella_2 con colonne C e D
colonna C: nome_C
colonna D: nome_D

**** tabella da costruire

tabella_3 con colonne E e F
colonna E: id_E corrispondente a nome_C
colonna F: id_F corrispondente a nome_D

NOTA: nella tab 2 e 3 comunque inserirei un campo id primary key autoincrement

*/
//tutte le righe necessarie per aprire il db
//******inizio ad esplorare la tabella_2*****************
$query2= mysql_query("SELECT nome_C, nome_D FROM tabella_2");
//******ciclo la tabella ********************************
while($riga=mysql_fetch_array($query2)){
	$nome_C=$riga['nome_C'];//primo ome in colonna C
	$nome_D=$riga['nome_D'];//secondo nome in colonna D
	//cerco i codici dei nomi in tabella_1
	$query1E=mysql_query("SELECT nome, id FROM tabella_1 WHERE nome='$nome_C");
	$riga=mysql_fetch_array($query1E);
	$id_1E=$riga['id'];//id del nome corrispondente a nome_C
	$query1F=mysql_query("SELECT nome, id FROM tabella_1 WHERE nome='$nome_D");
	$riga=mysql_fetch_array($query1F);
	$id_1F=$riga['id'];//id del nome corrispondente a nome_D
	//ho ricavato i due id dei nomi abbinati in tabella_2
	//inserisco gli id appena ricavati in tabella_3
	$query3=mysql_query("INSERT INTO tabella_3(id_E, id_F) VALUES('$id_1E', '$id_1F')";
}//fine while query2

?>
 

Discussioni simili