Erreur "Subquery returns more than 1 row"
dicyz
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitu Messages postés 1460 Statut Contributeur -
Pitu Messages postés 1460 Statut Contributeur -
Bonjour, je suis en train de remanier une base de donnée et je veux remplacer les noms d'entreprises par leur id.
Il y a deux tables : une cvpatient qui comprend un nom d'entreprise (en autre)
et entreprise qui comprend le nom de l'entreprise avec son id
Moi je voudrai que dans cvpatient, j'ai une colonne idEntreprise qui comprend l'id de l'entreprise et qui serai trouvé grace à la comparaison des noms d'entreprises de chaque tables.
J'ai donc crée une colonne idEntreprise où il n'y a aucune valeur et voici le code SQL réalisé :
Le problème étant que je reçois le message d'erreur suivant : "#1242 - Subquery returns more than 1 row"
Donc je ne sais pas comment faire pour résoudre ce problème.
Je pense que cela vient que l'update ne peut faire qu'une seule ligne mais y'a t'il une solution?
Merci d'avance pour votre aide.
Il y a deux tables : une cvpatient qui comprend un nom d'entreprise (en autre)
et entreprise qui comprend le nom de l'entreprise avec son id
Moi je voudrai que dans cvpatient, j'ai une colonne idEntreprise qui comprend l'id de l'entreprise et qui serai trouvé grace à la comparaison des noms d'entreprises de chaque tables.
J'ai donc crée une colonne idEntreprise où il n'y a aucune valeur et voici le code SQL réalisé :
Update cvpatient cv SET cv.idEntreprise=(SELECT en.idEntreprise FROM entreprise en WHERE en.nomEntreprise= cv.Entreprise)
Le problème étant que je reçois le message d'erreur suivant : "#1242 - Subquery returns more than 1 row"
Donc je ne sais pas comment faire pour résoudre ce problème.
Je pense que cela vient que l'update ne peut faire qu'une seule ligne mais y'a t'il une solution?
Merci d'avance pour votre aide.
A voir également:
- Erreur "Subquery returns more than 1 row"
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 0x80070570 ✓ - Forum Windows 10
- Erreur s3 bbox - Forum Bbox Bouygues
- Erreur 4101 - Forum Carte graphique
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
1 réponse
Bonjour,
Effectivement, c'est à peu près cela.
Tu peux faire un "update" sur plusieurs lignes à la fois, mais à partir de la même valeur.
Là, ta requête est telle que tu voudrais qu'elle écrive n valeurs différentes sur n lignes.
A ta place, je ferais un déchargement de ta table dans un excel pour ensuite fabriquer les requêtes propres à chacune des lignes à mettre à jour.
Effectivement, c'est à peu près cela.
Tu peux faire un "update" sur plusieurs lignes à la fois, mais à partir de la même valeur.
Là, ta requête est telle que tu voudrais qu'elle écrive n valeurs différentes sur n lignes.
A ta place, je ferais un déchargement de ta table dans un excel pour ensuite fabriquer les requêtes propres à chacune des lignes à mettre à jour.