【发布时间】:2014-01-05 11:05:45
【问题描述】:
请帮忙,
我正在尝试像这样旋转 sql server 表:
要得到这样的东西:
我尝试在 excel 中执行此操作,但它对我不起作用,因为它正在复制属性等。 那么,有没有查询到数据透视表来获得它?
【问题讨论】:
标签: sql sql-server excel sql-server-2008 pivot-table
请帮忙,
我正在尝试像这样旋转 sql server 表:
要得到这样的东西:
我尝试在 excel 中执行此操作,但它对我不起作用,因为它正在复制属性等。 那么,有没有查询到数据透视表来获得它?
【问题讨论】:
标签: sql sql-server excel sql-server-2008 pivot-table
SQL Server 的pivot 仅在您以一列为轴时才有效。由于您以(Item Id, Lot Number) 为中心,因此您必须以老式方式进行:
select [Item Id]
, [Lot Number]
, sum(case when Attribute = 'PPA' then Value end) as PPA
, sum(case when Attribute = 'PU0' then Value end) as PU0
, ...
from YourTable
group by
[Item Id]
, [Lot Number]
【讨论】:
请参阅@Andomar 的答案,了解如何编写 SQL 查询来执行数据透视。但是,如果您只想使用 Excel,将 ItemId 和 Lot Number 放在行中应该可以正常工作,将 Attribute 放在列部分,将 Value 放在数据部分。您需要从每个字段的属性中删除 Excel 喜欢添加的所有小计行(如果我没记错的话)。
如果这不起作用,您能否发布一张您不喜欢的 Excel 中发生的情况的图片?
【讨论】:
像这样使用sql? LotNumber=5 且 arribut = 'PPA' 的情况 然后值 结束
其他列也喜欢这些脚本,试试看
【讨论】: