- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- problema query mysql
-
problema query mysql
Sarà anche un problema banale, ma è da mezz'ora che ci sto sbattendo la testa senza venirne fuori... quindi chiedo.
Ho il seguente problema in mysql:
- ho due tabelle: A (diciamo, un migliaio di record) e B (un centinaio di record)
- campi tabella A: Id, campo1, campo2, campo3 ...
- campi tabella B: Id, campo5, campo6 ...
Devo trovare una query che, per ogni id di tabella A che esista anche in tabella B, sostituisca campo1 con il corrispondente valore in campo5 ... e che faccia la ricerca e l'eventuale operazione per tutti i 1000 record di tabella A
Qualcuno sa darmi una dritta?
-
Quale e' il campo comune tra le due tabelle?
-
-
Ciao Archimede2007,
crei un file .php con questo codice, modifica i campi dei nomi:<?php //mi connetto al database $db = mysqli_connect("localhost","username","password","nome_DB"); //seleziono tutti i campi delle tabelle A e B $queryA = "SELECT * FROM TabellaA"; $queryB = "SELECT * FROM TabellaB"; $resultA = mysqli_query($db, $queryA); $resultB = mysqli_query($db, $queryB); //faccio un ciclo della tabellaA con interno uno della tabella B while($rowA = mysqli_fetch_array($resultA)){ $idA = $rowA["id"]; while($rowB = mysqli_fetch_array($resultB)){ $idB = $rowB["id"]; //se gli ID sono uguali lancio una query che sostituisce il campo1 con il campo 5 if($idB == $idA){ $queryTMP = "UPDATE TabellaA SET campo1 = ".$rowB["campo5"]." WHERE id = ".$idA; mysqli_query($db, $queryTMP); break; } } } ?>
-
Buongiorno e scusate se m'intrometto ma... ammesso ch'io abbia capito bene il problema, non sarebbe più semplice una cosa del genere?
UPDATE a table1 JOIN b table2 ON table1.id = table2.id SET table1.campo1 = table2.campo5
-
@altrasoluzione said:
buongiorno e scusate se m'intrometto ma... Ammesso ch'io abbia capito bene il problema, non sarebbe più semplice una cosa del genere?
perfetto!!!!!
Era proprio quello che stavo cercando, grazie!
-
Prego! Lieto di essere stato utile!