Mon problème à résoudre:
Table A:
colones a,b,c,d
Table B:
colones e,b,g,h
Résultats souhaités :
Table B:
colones e,f,g,h,d
Comme vous le constatez les deux tables ont pour commun la colonne b que je peux utiliser comme clef pour la jointure.
Le travail demandé c'est de "updater" la table B avec la colonne d de la table A. Compris d'une autre facon c'est d'ajouter la colonne d de la table A a la table B.
Bien évidement j'ai commencé par créer la colonne "d" sur la table B, maintenant il me reste à insérer les éléments de "d" de la table A dans la colonne d de la table B.
J'ai essayé d'ecrire ceci :
J'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 update ...dbo.B set B.d = ( select d from ...dbo.A where A.b=B.b )
En fait l'erreur retournée était prévisible car je pense bien que j'essaie d’insérer le résultat de mon select (plusieurs lignes retournées) dans une seule ligne ce qui n'est pas possible.Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
Dois-je utiliser un curseur ? Ou bien existe il une methode sans curseur. Si oui priere d’écrire l'esquisse de la procédure que se soit avec ou sans curseur.
Je vous serai reconnaissant de recevoir de l'aide car mon stage en dépend.
Merci bien.
Partager