Sql server 如何在SQL Server中进行转置和求和?
我在SQL Server中有以下数据。我想转换组件1、组件2、组件3、组件4列中的值,并对7月、8月、9月、10月、11月、12月(如果有重复)中的数字求和。我通常在Excel中使用PIVOT表,但我想在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
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并为我工作