Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在透视表中使用SUM(不能在聚合函数中使用CAST)_Sql_Sql Server 2008_Pivot Table - Fatal编程技术网

Sql 如何在透视表中使用SUM(不能在聚合函数中使用CAST)

Sql 如何在透视表中使用SUM(不能在聚合函数中使用CAST),sql,sql-server-2008,pivot-table,Sql,Sql Server 2008,Pivot Table,我正在使用以下透视查询: select UserId_Fk,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday from CheckInCheckOut PIVOT ( SUM(CAST(CountHours as decimal(18,2))) FOR Day IN([Sunday],[Monday],[Tuesday],[Wednesday],[Thursda

我正在使用以下透视查询:

    select UserId_Fk,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
      from CheckInCheckOut

    PIVOT
    (

     SUM(CAST(CountHours as decimal(18,2))) 
     FOR Day
     IN([Sunday],[Monday],[Tuesday],[Wednesday],[Thursday],[Friday],[Saturday])

    )
   as PivotTable

   Table[CheckInCheckOut]     

 CheckInCheckOutId  int 
    UserId_Fk       int 
  CountHours    nvarchar(50)    
         Day    nvarchar(50)    
我在这里使用SUM有点不对劲。我试过了

   select SUM(CAST(CountHours as decimal(18,2))) from CheckInCheckOut

这给了我正确的结果,但我不能在Pivot表中使用相同的结果。

因为我没有使用sql server/Pivot,这只是一个猜测,但其中是否应该是group by子句?即

...
as PivotTable
group by UserId_Fk, ...

在进行数据透视查询之前,请尝试转换数据

  select UserId_Fk,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
      from    (Select UserId_Fk,CAST(CountHours as decimal(18,2))as CountHours,[Day]
   from CheckInCheckOut) as convertedtable

    PIVOT
    (

     SUM(CountHours) 
     FOR Day
     IN([Sunday],[Monday],[Tuesday],[Wednesday],[Thursday],[Friday],[Saturday])

    )
   as PivotTable