SQL Server 2008 R2/成本中心总成本
我有: 我需要成本中心的成本总和,如下所示:SQL Server 2008 R2/成本中心总成本,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我有: 我需要成本中心的成本总和,如下所示: ReNr |Hours|Costs|Cost Center|Change 12345 |1 |122,5|4711 |A 12345 |2 |245 |4711 |B 12345 |1 |122,5|4712 |C 12345 |1 |122,5|4712 |D 12345 |2 |245 |4712 |E 我尝试使用枢轴: ReNr |Hour
ReNr |Hours|Costs|Cost Center|Change
12345 |1 |122,5|4711 |A
12345 |2 |245 |4711 |B
12345 |1 |122,5|4712 |C
12345 |1 |122,5|4712 |D
12345 |2 |245 |4712 |E
我尝试使用枢轴:
ReNr |Hours|Costs|Cost Center
12345 |3 |367,5|4711
12345 |4 |490 |4712
但它不起作用。我得到1“nvarchar to int”-错误,而没有nvarchar as字段!工时和费用是浮动的。其他的都是INT
我得到一个错误,比如(我的工作室是用英语安装的,但是错误消息是德语)“在Pivot操作符中,值是错误的”
请给我一些提示;-)
THX
格里茨
贝吉塔为什么不:
SELECT [ReNr]
,ISNULL([Hours], 0) AS [Hours]
,ISNULL([Cst2501], 0) AS [Cst2501]
,ISNULL([Cst2510], 0) AS [Cst2510]
,ISNULL([Cst2705], 0) AS [Cst2705]
,ISNULL([Cst5010], 0) AS [Cst5010]
,ISNULL([Cst7080], 0) AS [Cst7080]
,ISNULL([Cst7120], 0) AS [Cst7120]
,ISNULL([Cst7301], 0) AS [Cst7301]
FROM
(
SELECT [ReNr]
,[Hours]
,[Costs]
,[CostCenter]
FROM [dbo].[Abrechnungen]
) src
PIVOT
(
SUM([Costs])
FOR [CostCenter] IN ([Cst2501], [Cst2510], [Cst2705], [Cst5010], [Cst7080], [Cst7120], [Cst7301])
) piv;
我知道你也需要几个小时的总和,所以有两个总和。还有一次,我想把它复杂化;-)这就是我需要的。THX:-)
SELECT ReNr, sum(Hours), sum(Costs), 'Cost Center'
FROM TABLE
GROUP BY 'Cost Center'