J'utilise MS SQL Server 2005. Lorsque je sélectionne un ensemble de lignes de la table avec la condition where appropriée, il renvoie la valeur 31. La même valeur de sélection si je mets à jour à un autre table, il est mise à jour en 30. J'utilisé la mise à jour de SQL comme suitSQL 2005 mise à jour - nombre de comptes question
update tablename
set column1 = (Select column2 from tablename
where month(field1) = 05 and year(field1) = 2010)
where field 2 = 'xxx'
Si je la seule sélection exercerai intérieure, elle retourne une valeur colonne2 que 31. une fois la mise à jour exécutée et sélectionnez la table mise à jour, il montre comme 30.
Seulement 1 différence de nombre pour beaucoup de rangs ...
Quelqu'un pourrait-il faire face à ce problème ...
Cela semble étrange. Pourriez-vous afficher les parties pertinentes de vos définitions de table et les données pertinentes? –