レポートの目的のために、各レコードで一意のクエリの結果をピボットする必要があります。私の現在の声明は次のとおりです。
SELECT *
FROM Sales AS x
WHERE (select count(*) from Sales where customer_name=x.customer_name
and order_date>=x.order_date)<=5
ORDER BY customer_name, order_date, price;
クエリ出力のサンプルは次のとおりです。
customer_name order_date price
Company A 2009-02-01 800
Company A 2009-03-01 100
Company A 2009-04-01 200
Company A 2009-05-01 300
Company A 2009-06-01 500
Company B 2009-02-01 100
Company B 2009-02-01 800
Company B 2009-04-01 200
Company B 2009-05-01 300
Company B 2009-06-01 500
最終的に、情報は次のようになる必要があります。
Customer_Name order_date1 price1 order_date2 price2 order_date3 price3 order_date4 price4 order_date5 price5
Company A 2009-02-01 800 2009-03-01 100 2009-04-01 200 2009-05-01 300 2009-06-01 500
Company B 2009-02-01 100 2009-02-01 800 2009-04-01 200 2009-05-01 300 2009-06-01 500
各グループに共通のレコードがあり、ピボット前のクエリ結果が次のようになるように、「pivot_id」の列を追加する必要があると考えています。
pivot_id customer_name order_date price
1 Company A 2009-02-01 800
2 Company A 2009-03-01 100
3 Company A 2009-04-01 200
4 Company A 2009-05-01 300
5 Company A 2009-06-01 500
1 Company B 2009-02-01 100
2 Company B 2009-02-01 800
3 Company B 2009-04-01 200
4 Company B 2009-05-01 300
5 Company B 2009-06-01 500
購入ごとに自動レコード番号を生成するだけでなく、customer_nameごとに最初からやり直すSQLステートメントはどれですか?
SQLコードビルダーを使用したAccess2007での作業。ソリューションがAccessと互換性がある場合は素晴らしいでしょう。
長さでごめんなさい。前もって感謝します。