SQL формат Pivot - PullRequest
       7

SQL формат Pivot

0 голосов
/ 02 октября 2018

У меня отлично работает сводная таблица, и ниже находится сводная таблица, которую я создал

SET @SQL =
    '
    SELECT * FROM 
        (SELECT  
               User.[Parties]
              ,User.[Accounts]
              ,User.[Amount]
              FROM User) AS BaseData

    PIVOT(
        SUM(BaseData.[Amount])
        FOR BaseData.[Parties]
        IN(' + @Parties + '     

        )
    ) AS PivotTable
    ' 
    EXEC( @SQL)

И пример того, что я могу получить, когда @Parties = Tom

Accounts     Tom
Loan         1000
Bank         3000
Bank2        1500

Но у меня возникли проблемы с форматированием чисел в сводных результатах.Я хочу, чтобы это выглядело как ...

Accounts     Tom
Loan         1,000
Bank         3,000
Bank2        1,500

Я знаю, что для этого используется код ...

FORMAT(User.Amount, 'N0') AS Amount

Но я не могу получить это в результатах сводкиУ кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 02 октября 2018

Как указали и Ларну, и Гордон, это действительно относится к уровню представления.

Однако, если необходимо, незначительное изменение ваших BaseData и MAX против SUM в PIVOT

Пример

SET @SQL =
    '
    SELECT * 
     FROM (SELECT User.[Parties]
                 ,User.[Accounts]
                 ,[Amount] = format(sum(User.[Amount]),''N0'')
            FROM  User
            GROUP BY User.[Parties]
                    ,User.[Accounts]
          ) AS BaseData
    PIVOT(
        MAX(BaseData.[Amount])
        FOR BaseData.[Parties]
        IN(' + @Parties + '     
        )
    ) AS PivotTable
    ' 
    EXEC( @SQL)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...