Sql server 如何在SQL Server中进行转置和求和?

Sql server 如何在SQL Server中进行转置和求和?,sql-server,tsql,Sql Server,Tsql,我在SQL Server中有以下数据。我想转换组件1、组件2、组件3、组件4列中的值,并对7月、8月、9月、10月、11月、12月(如果有重复)中的数字求和。我通常在Excel中使用PIVOT表,但我想在SQL Server中使用它来节省一些时间 CUST NAME CUST PART# PN# COMPONENT 1 COMPONENET 2 COMPONENT 3 COMPONENT 4 JUL AUG SEP OCT NOV DEC C

我在SQL Server中有以下数据。我想转换组件1、组件2、组件3、组件4列中的值,并对7月、8月、9月、10月、11月、12月(如果有重复)中的数字求和。我通常在Excel中使用PIVOT表,但我想在SQL Server中使用它来节省一些时间

CUST NAME   CUST PART#  PN#         COMPONENT 1 COMPONENET 2 COMPONENT 3 COMPONENT 4  JUL     AUG   SEP     OCT   NOV    DEC
COMPANY X   4455623    7801080R        902031     1200958           1                 2 
COMPANY X   4455622    78601080L        902031    1200958           1                 2 
COMPANY X   4455621    78601076R        902031    1200959           1                                              2    
COMPANY X   4455620    78601076L        902031    1200959           1                                              2    
COMPANY X   4455439    78601018R        900574    1200960           2                                                    12
COMPANY X   4455438   78601018L         900574    1200960           2                                                    12
COMPANY X   4455364   78601016R         900574    1200959                                                      6    6   
COMPANY X   4455361   78601016L         900574    1200959                                                      6    6   
COMPANY X   4455363   78601014R         900574    1200958                                                      6    6   
COMPANY X   4455362   78601014L         900574    1200958                                                      6    6   
我想得到以下结果

CUST NAME   COMP    JUL AUG    SEPT OCT   NOV DEC
---------------------------------------------------
COMPANY X   1200958  2               12   16    
COMPANY X   1200959  2               12   16    
COMPANY X   1200960  4                         24

基于您的示例输出,您似乎并没有转置任何东西,而只是在“COMPONENET 2”上聚合

查询:

SELECT CUST, NAME,   COMP2,
    SUM( JUL ) AS Jul, SUM( AUG ) AS AUG, SUM( SEPT ) AS SEPT,
    SUM( OCT ) AS OCT, SUM( NOV ) AS AUG, SUM( DEC ) AS DEC
FROM [table]
GROUP BY CUST, NAME,   COMP2

到目前为止你试过什么?有什么问题吗?显示您的查询。我在sql server中尝试了数据透视表,但结果对我来说毫无意义@Alex很好,但我需要将组件1、组件2、组件3合并或转置为一列并求和。您的解决方案适用于一个字段,但我想对
组件1、组件2、组件3执行相同的操作
@user8066749,查看您的示例结果,您似乎正在按[COMPONENT 2]和[PN#]进行分组,并对月份进行求和。也许你应该提供更好的示例结果。对不起,我在问题中提到过,我希望组件1、组件2、组件3、组件4i使用UNION并为我工作