-
update e subquery
Vorrei normalizzare i dati di una tabella sostituendovi quelli presenti in un'altra ma
$query = "UPDATE gare SET categoria = (select distinct(categ) from atl_corrilab where cognome =nom)
";
mi restituisce
Errore nella query:Subquery returns more than 1 row
-
Non ho nessuna esperienza con le subquery, ma l'errore restituito mi suggerisce che sarebbe previsto una sola riga come risultato della subquery.
Ciao!
-
update e subquery
Infatti si è prevista una sola riga.Grazie comunque Debug
-
Quindi mi confermi che la subquery non restituisce, come previsto, una sola riga...
Ciao!
-
update e subquery
Scusa Debug nel ritardo della risposta ma pensavo che la discussione fosse chiusa.
Mi correggo perchè l’errore segnalatomi è strano in quanto io voglio proprio che la subquery mi restituisca più righe volendo sostituire ogni riga del campo categoria della tab gare con ogni riga della tabella atl_corrilab dove è verificata la condizione. La cosa strana è che eseguendo l’UPDATE su un altro campo dalla tabella gare lo script ha funzionato anche se dove non ha trovato corrispondenze ha cancellato il contenuto del campo.
In effetti la subquery presa separatamente mi da errore perché il campo cognome appartiene alla tabella gare.Ho provato a modificare cosi:
<?php
$query = "UPDATE gare SET categoria = (SELECT distinct(categ) from atl_corrilab )where gare.cognome =(SELECT nom from atl_corrilab )
";
?>
Non ottengo errori ma l’UPDATE non viene eseguito.