Access 2007 - 在不使用交叉表查询的情况下“旋转”数据
Posted
技术标签:
【中文标题】Access 2007 - 在不使用交叉表查询的情况下“旋转”数据【英文标题】:Access 2007 - 'rotating' data without using a crosstab query 【发布时间】: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]),可能是因为它们是动态的,即标题可能会根据当时数据中的产品而改变。
那么我怎样才能加入这个“旋转”的数据呢?
【问题讨论】:
【参考方案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,所以如果没有帮助就不会到这个阶段。 :)以上是关于Access 2007 - 在不使用交叉表查询的情况下“旋转”数据的主要内容,如果未能解决你的问题,请参考以下文章
从 MS Access 中将交叉表查询结果导出到 Excel