【问题标题】:Access 2007 - 'rotating' data without using a crosstab queryAccess 2007 - 在不使用交叉表查询的情况下“旋转”数据
【发布时间】:2013-01-23 17:29:15
【问题描述】:

我有一个查询返回这样的数据:

Store    Product    CasesPerStore
Bob's    Original       2
Bob's    Super          1
Tom's    Original       5
Pete's   Original       9
Pete's   Super          2

我想将它加入到商店的另一个查询中,最终得到这个:

Other query headings....       Store    Original CasesPerStore    Super CasesPerStore
Other query data........       Bob's             2                        1
Other query data........       Tom's             5
Other query data........       Pete's            9                        2

我可以使用交叉表查询对原始数据执行此操作,但是我无法在连接中引用新的交叉表标题(例如 [Original CasesPerStore] 和 [Super CasesPerStore]),可能是因为它们是动态的,即标题可能会根据当时数据中的产品而改变。

那么我怎样才能加入这个“旋转”的数据呢?

【问题讨论】:

    标签: ms-access dynamic join crosstab


    【解决方案1】:

    如果您事先知道有多少产品,并且它们是永久固定的,那么这个简单的解决方案可能就足够了。通过使用Iif 语句,您可以绕过数据的旋转,但它是硬编码的 SQL。

    SELECT tbl.Store,
       SUM(Iif([Product] = "Original", [CasesPerStore], 0)) AS [Original CasesPerStore],
       SUM(Iif([Product] = "Original", 0, [CasesPerStore])) AS [Super CasesperStore]
    FROM   tbl
    GROUP  BY tbl.Store
    

    【讨论】:

    • 是的,很有效,非常感谢 - 我昨晚想了一个类似的解决方案,但我从来没有使用过 Iif,所以如果没有帮助就不会到这个阶段。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2017-07-13
    相关资源
    最近更新 更多