【问题标题】:How does TRANSFORM PIVOT worksTRANSFORM PIVOT 的工作原理
【发布时间】:2021-12-10 18:38:50
【问题描述】:
TRANSFORM NbTest SELECT NbTest
FROM TableTest
WHERE Date=#25/10/2021#
GROUP BY Name
PIVOT Name

上面的查询作为输出给出:

Expr1002    T1  T2  T3  T4  T5
2           2               
1               1           
0                   0       
2                       2   
3                            3

我怎样才能将它放在一行中:

Expr1002    T1  T2  T3  T4  T5
Result =    2   1   0   2   3   

【问题讨论】:

  • 使用交叉表向导开始。您不应该同时 Group ByPivot Name.
  • @Gustav 我完全迷失了这个。你有一个简短的例子吗?
  • 您检查了向导吗?我自己用。
  • @Gustav 是的,但我不能做我想做的事......似乎我想念理解它是如何工作的。我不能:作为列 T1 T2 T3 T4 T 和作为行结果.....具有相同字段的 PIVOT 和 GROUP BY 不起作用
  • 在您的问题中提供原始数据样本。

标签: sql ms-access


【解决方案1】:

您应该按照 Gustav 的指示列出 TableTest,然后我们可以提供更好的反馈。根据您提供的信息,我猜您想要的是:

TRANSFORM First(NbTest)
SELECT "Result="
FROM TableTest
WHERE Date=#25/10/2021#
GROUP BY True
PIVOT Name ;

请注意,如果对于“Date=#25/10/2021#”,并且对于“Name”的每个不同值,您只有一个“NbTest”值,则这是有意义的。如果对于“Date=#25/10/2021#”,并且对于“Name”的每个不同值,您有多个“NbTest”值,使用“First()”基本上会产生一个随机值:在这种情况下可能您更喜欢使用“Max()”还是“Min()”或其他一些可用的 SQL 聚合函数。

【讨论】:

    猜你喜欢
    • 2020-06-23
    • 1970-01-01
    • 2019-01-24
    • 2021-03-20
    • 2011-10-26
    • 2017-12-02
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多