gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 08:00:47 25 4
gpt4 key购买 nike

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

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'

关于sql-server - 在 SQL Server 中的数字字段上没有聚合的数据透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com