【问题标题】:SQL PIVOT oddity: Why do the result columns show same data?SQL PIVOT 奇怪:为什么结果列显示相同的数据?
【发布时间】:2011-09-29 18:17:09
【问题描述】:

我在 SQL 中设置了一个 PIVOT,尽管遵循 't' 的语法,但我的输出方向却很奇怪。

具体来说,我有 36 个“透视”列和一个额外的日期列。我想显示给定日期的每一列的条目,但我看到的是同一日期的 36 个条目,每列有一个非 NULL 条目,有点像单位矩阵。

代码在这里:

SELECT pvt.date ,
[COLUMN LIST]
FROM (  ...[subquery removed due to length]... ) AS source
PIVOT 
(
SUM(totalret)
FOR description IN (
[COLUMN LIST] )
    ) AS pvt

    order by date

【问题讨论】:

  • 看起来不错...但枢轴点非常棘手。如果您可以发布更多信息、数据集之前/之后的内容以及更详细的查询,这将有所帮助。如果您只指定四列,它仍然会失败吗?如果是这样,您能否发布包含这四列的代码(以及之前/之后的数据)?

标签: sql sql-server pivot


【解决方案1】:

问题最终与子查询中的列列表有关(我省略了)。

我在子查询中选择了没有被引用或直接在数据透视表中使用的无关列——删除它们并只留下那些在数据透视表中引用的列最终修复了问题。

【讨论】:

    猜你喜欢
    • 2016-02-13
    • 1970-01-01
    • 2016-11-19
    • 2014-01-27
    • 1970-01-01
    • 2017-12-14
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多