次のようなコントラクトのトランザクションを保存するテーブルがあります。
Id_Contract[int] | Month[DateTime] | Amount[int]
------------------------------------------------
1 2012-01-01 00:00:00.000 500
1 2012-03-01 00:00:00.000 450
2 2012-09-01 00:00:00.000 300
3 2012-08-01 00:00:00.000 750
ユーザーはクエリの期間を選択できるはずです。アーカイブしたいのは、ユーザーが2012年1月から2012年3月までの期間を選択すると、結果が得られるということです。
Id_Contract[int] | Jan 2012 | Feb 2012 | Mar 2012
--------------------------------------------------
1 500 450
これを解決する方法について何か提案はありますか?
よろしく、r3try
編集: これまでの回答に感謝します! 私の問題をグーグルで調べたとき、ピボットにも出くわしましたが、これまでのところ、私の問題を実際に解決する例は見つかりませんでした (基本的にすべての例が列エントリの特定の可能性を示しているためですが、私の例では「2012 年 3 月」のようになる可能性があります)。 '、'2012 年 4 月'、...、'2013 年 1 月'、...)
SQLクエリから取得した日付をどうするかについての背景情報をもう少し教えてください:契約に関するデータを含むグリッドビューを備えたasp.net Webフォームサイトを持っています...今、このテーブルはその特定のコントラクトの支払い情報によって拡張されます (基本的には Id_Contract での結合ですが、「ピボット」されています)。ユーザーが 2012 年 3 月から 2012 年 5 月を選択した場合、Gridview には、契約に関する通常のデータと、支払い情報の 3 つの列 (3 月、4 月、5 月) が含まれている必要があります。DB には、すでに値が挿入されているエントリのみが格納されます。-> 説明により、物事が少し明確になることを願っています。