En répondant à un test i fait face à la question suivante, que je n'ai pas pu résoudre:UPDATE SQL requête utilisant
Compte tenu du tableau suivant Z et requête:
Table Z:
| Value |
---------
| 1 |
| 2 |
| 3 |
| 4 |
---------
Requête:
UPDATE Z
SET VALUE = Y.VALUE + 1
FROM Z AS Y
WHERE Y.VALUE = Z.VALUE + 1;
SELECT SUM(VALUE) FROM Z;
La question demande le résultat de l'exécution de cette requête. La question ne mentionne pas un langage SQL spécifique.
La réponse est 16.
Je ne sais pas comment cette requête peut parvenir à ce résultat. Je n'étais même pas capable d'exécuter cette requête dans un environnement réel, il se plaint d'une erreur de syntaxe proche de "FROM".
1 - Connaissez-vous cette requête? 2 - Comment pourrais-je procéder pour exécuter cette requête?
P.S. J'ai eu du mal à trouver des informations sur la clause FROM dans la requête UPDATE.
votre requête, en l'état, ne fonctionnera pas, même dans Postgres, à cause de la virgule sur l'instruction 'SET' – user2877959
désolé, le point-virgule sur l'instruction SET était une faute de frappe, déjà corrigé, le problème reste –
je vois. En effet, le système ajoute simplement 2 à 1,2,3 puis somme de l'ensemble (3,4,5,4). La partie délicate ici est que la clause where est que la jointure automatique utilise la valeur Y et ensuite en ajouter un – xQbert