sql-server - 在 SQL Server 中的数字字段上没有聚合的数据透视

我有一个生成如下结果的表:

Code   Month    Value

733     May      520.00
733     May     2250.00
733     May      125.00

我有一个要求,我需要像这样显示上面的记录:

Code    May
733      520
733     2250
733      125

我可以通过pivot 来想出一种方法,所以我会这样:

Select 
    Code,
    IsNull(January,0)[January(Actual)],          
    IsNull(February,0)[February(Actual)],              
    IsNull(March,0)[March(Actual)],              
    IsNull(April,0)[April(Actual)],              
    IsNull(May,0)[May(Actual)],              
    IsNull(June,0)[June(Actual)],              
    IsNull(July,0)[July(Actual)],              
    IsNull(August,0)[August(Actual)],              
    IsNull(September,0)[September(Actual)],              
    IsNull(October,0)[October(Actual)],              
    IsNull(November,0)[November(Actual)],              
    IsNull(December,0)[December(Actual)]
From 
    (
    Select 
         Code,
         [Month],
         Value
    From 
        #tempMonthWiseActualValue
    )s 
Pivot  
    (
         min([Value] )
         For [Month]           
        In    (January,February,March,April,May,June,July,August,September,October,November,December) 
    )as pvt
Order by Code

但是有一个限制,因为我需要保留所有值,所以没有聚合函数在这里工作,即没有 MIN、MAX、SUM 等。使用 Min/Max 将在值列中给出 125 或 2250。

所以我的问题是:

有没有一种方法可以通过使用数据透视表找到所需的结果,或者我应该使用#temp 表?

最佳答案

我知道这是一个非常狭窄的解决方法。它用于突出将不同月份的数据放在同一行的问题。 如果您描述了 ovarall 任务,那么我可以建议更好的解决方案。

Select 
  Code as Code
  Value as May
from Table
where Month = 'May'

https://stackoverflow.com/questions/17318722/

相关文章:

ms-access - 如何在 vba(access) 中将变量设置为我的表单列表框之一?

xaml - Telerik RadMaskedNumericInput 掩码

css - 在相同高度缩放 float div

r - 使用包命名空间在 R 中进行分层 cox 回归

python - MindWave Mobile - 调用单个数据点

jdbc - 配置单元 jdbc 连接发出内存不足错误

javascript - Xhr 上传事件.loaded 问题

sql-server - 对选择结果中的每一行执行 INSERT

python - 如何在对象上进行 str.replace?

ruby - 使用 ruby​​_gnuplot 在 Ruby 中制作动画 3d 散点图