J'ai une table Table1, dans le format suivant:ne peut pas utiliser une requête de sélection pour obtenir le nombre de jours en fonction DATEADD
Country No_Of_Days
XX 5
YY 10
Et je dois mettre à jour la colonne de date_fin dans une autre table, Tableau 2, qui a une start_date en ajoutant les jours dans le tableau ci-dessus mentionné à date_début:
Country Start_Date End_Date Calc_Manual_Flag
XX 25-Dec-16 30-Dec-16 CALC
YY 02-Jan-17 12-Jan-17 CALC
J'utilise la requête suivante, mais il ne semble pas fonctionner:
UPDATE dbo.Table2
SET End_date =
dateadd(
day,
(SELECT No_Of_Days FROM Table1 WHERE Table2.Country = Table1.Country),Start_Date),
Calc_Manual_Flag = 'CALC'
WHERE Table2.End_Date IS NULL
AND Table2.Start_Date IS NOT NULL
Mais cela ne semble pas fonctionner correctement. Les mises à jour ne semblent pas se passer comme prévu. Je reçois le message d'erreur suivant:
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.
Veuillez fournir des conseils à ce sujet.
Qu'est-ce qui se passe? –
Qu'est-ce qui ne fonctionne pas correctement? Avez-vous des erreurs? Des valeurs inattendues? –
Je reçois le message 0 lignes mises à jour – Manus