Problème de SOMME dans SELECT
Bonjour à tous,
J'ai un problème de somme avec SQL Server Management Studio 2008.
J'ai une requête de la forme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
INSERT INTO #ZBALANCE
SELECT
'D' AS COL1,
'' AS COL2,
'1' AS COL3,
'' AS COL4,
'019A' AS COL5,
'' AS COL6,
EG.CG_NUM AS COL7,
'' AS COL8,
EG.EC_INTITULE AS COL9,
CAST(EG.EC_Sens AS nvarchar(50)) AS COL10,
CAST((CASE WHEN EG.EC_SENS=0 THEN EG.EC_MONTANT ELSE EG.EC_MONTANT*-1 END) AS nvarchar(50)) AS COL11,
'' AS COL12,
...
0 AS COL26,
CAST(EG.EC_Sens AS decimal(1)) * CAST(EG.EC_Montant AS decimal(20,6)) AS COL27
FROM dbo.F_ECRITUREC EG
INNER JOIN dbo.F_COMPTEG CG on CG.CG_NUM=EG.CG_NUM
WHERE YEAR(EG.JM_DATE)=2009
AND EG.EC_POINT = 0
AND EG.JO_NUM!='IFRS'
AND CG.N_Nature='4'
AND EG.EC_Lettrage = ''
ORDER BY COL24, COL25; |
Je ne vous ai pas mis toute la requête car il n'y en a besoin ici. Juste la table #ZBALANCE est une table temporaire créée au début du script.
Je récupère bien les bonnes données, mais, pour une raison que j'ignore, ma colonne COL27 ne se calcule pas bien pour certaines données.
En effet, j'obtiens ceci :
Citation:
...
29;D;29;1;29;019A;;4011000;test;Design;1;1092.910000;;;A;FR1;//REF PIECE L100 : FC091203 - LETTRAGE : A;;;;;;;;401198;test;29;1092.910000
30;D;30;1;30;019A;;4011000;test;Design;1;362.390000;;;A;FR1;//REF PIECE L100 : 30/11/09 - LETTRAGE : A;;;;;;;;401198;test;30;0.000000
31;D;31;1;31;019A;;4011000;test;Design;1;2687.030000;;;A;FR1;//REF PIECE L100 : 31/10/09 - LETTRAGE : A;;;;;;;;401198;test;31;0.000000
32;D;32;1;32;019A;;4011000;test;Design;1;299.000000;;;;FR1;//REF PIECE L100 : FF071452;;;;;;;;401198;test;32;299.000000
33;D;33;1;33;019A;;4011000;test;Design;1;418.600000;;;;FR1;//REF PIECE L100 : FF072035;;;;;;;;401198;test;33;418.600000
34;D;34;1;34;019A;;4011000;test;Design;1;1255.800000;;;;FR1;//REF PIECE L100 : FF072673;;;;;;;;401198;test;34;1255.800000
35;D;35;1;35;019A;;4011000;test;Design;1;14.870000;;;C;FR1;//REF PIECE L100 : VIRT EMIS CB - LETTRAGE : C;;;;;;;;401198;test;35;0.000000
...
Vous l'aurez compris, la colonne COL27 (dernière en rouge) est normalement égale au produit de la colonne COL10 et la colonne COL11 (signe -> -1 négatif et 1 positif, et montant).
SQL Server a t-il des problèmes pour calculer dans un insert/select ?
PS : la première colonne est un id généré automatiquement.
Merci de m'aider.
Cordialement.