Bonjour,

Voici mon problème :
Je dispose de 3 tables, tableA, tableB, tableC qui se lient de la manière suivante

tableA | tableB | tableC
Code----Code | Prix
Prix | Id------Id

Je voudrait mettre a jour le prix de la tableC grâce au prix de la tableA

J'ai essayer la requête suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
UPDATE tableC SET Prix = (SELECT tableA.Prix
FROM tableC INNER JOIN
tableB ON tableC.Id = tableB.Id INNER JOIN
tableA ON tableB.Code = tableA.Code) 
 
WHERE tableC.Id = (SELECT tableB.Id
FROM tableC INNER JOIN
tableB ON tableC.Id = tableB.Id INNER JOIN
tableA ON tableB.Code = tableA.Code)
Mais j'obtiens l'erreur suivante :

Serveur*: Msg 512, Niveau 16, État 1, Ligne 1
La sous-requête a retourné plusieurs valeurs. Cela n'est pas autorisé quand la sous-requête suit =, !=, <, <= , >, >= ou quand elle est utilisée en tant qu'expression.
L'instruction a été arrêtée.
Est ce que le problème vient de ma requête ?

Merci