0

次のようなデータを返すクエリがあります。

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

そして、これを Store で別のクエリに結合して、次のようにします。

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] など) を参照できません。これはおそらくそれらが動的であるため、つまり見出しが変更される可能性があるためです。その時点でデータに含まれている製品によって異なります。

では、この「ローテーションされた」データにどのように参加できますか?

4

1 に答える 1

2

製品の数が事前にわかっていて、それらが完全に固定されている場合は、この単純なソリューションで十分な場合があります。ステートメントを使用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
于 2013-01-23T23:16:34.910 に答える