Оператор SQL GROUP BY CSV-экспорт показывает неверную сумму - PullRequest
0 голосов
/ 03 июля 2018

Выполнение запроса в SQL Server 2012 и экспорт записей о стоимости в CSV с сохранением результата в качестве опции, запрос показан здесь:

SELECT 
    ...,...,...,...,...,......,...,..,..,
    SUM(COST_REPORTING.Actual_Cost) AS Actual_Cost
FROM 
    Table_Name AS Table_Name 
WHERE 
    USAGESTARTDATE >='2018-05-01 00:00:00.000'  
    AND USAGEENDDATE<='2018-05-31 12:00:00.000'
GROUP BY 
    ...,...,...,...,...,......,...,..,..,

Сумма всех записей Actual_Cost в csv показывает 1817751.612

Однако, если я просто сохраню столбец Actual_Cost в виде csv, то при проверке SUM для всех записей затрат будет 1823065.094, запрос ниже:

SELECT
    Z.Actual_Cost 
FROM
    (SELECT 
         ...,...,...,...,...,......,...,..,..,
         SUM(COST_REPORTING.Actual_Cost) AS Actual_Cost
     FROM 
         Table_Name AS Table_Name 
     WHERE 
         USAGESTARTDATE >='2018-05-01 00:00:00.000' 
         AND USAGEENDDATE<='2018-05-31 12:00:00.000'
     GROUP BY ...,...,...,...,...,......,...,..,..,) AS Z

Я также проверил с помощью SQL-запроса сумму для всех записей ACTUAL_COST, показанную как 1823065.094, запрос ниже:

SELECT 
    SUM(Z.Actual_Cost ) AS SUM_Actual_Cost
FROM
    (SELECT 
        ...,...,...,...,...,......,...,..,...,
        SUM(COST_REPORTING.Actual_Cost) AS Actual_Cost
    FROM 
        Table_Name AS Table_Name 
    WHERE 
        USAGESTARTDATE >='2018-05-01 00:00:00.000' 
        AND USAGEENDDATE<='2018-05-31 12:00:00.000'
    GROUP BY 
         ...,...,...,...,...,......,...,..,...,) AS Z

Actual_Cost Столбец типа данных является плавающим в БД.

Почему в csv со всеми столбцами сумма Actual_Cost отображается как 1817751.612 вместо 1823065.094, и как я могу это исправить? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Только что попытался скопировать все столбцы из сетки вместо сохранения их в виде файла и вставки в Excel .. сумма для всех записей фактической стоимости показывает 1823065.094 ...

Я знаю, что это не Solid Fix, а хороший WorkAround:)

0 голосов
/ 03 июля 2018

попробуйте указать явный CAST(Actual_Cost AS DECIMAL(18,5)) в своем запросе (или другом большом типе данных) и посмотрите, поможет ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...