探しているものは、一般にクロス集計クエリと呼ばれます。 static を指定してクロス集計クエリを作成する方法を尋ねている場合 列のリスト、次のようなことができます:
Select Title
, Min( Case When DatePart(mm, [Date]) = 7 And DatePart(yy, [Date]) = 2010 Then MetaData End ) As [Jul-10]
, Min( Case When DatePart(mm, [Date]) = 8 And DatePart(yy, [Date]) = 2010 Then MetaData End ) As [Aug-10]
, Min( Case When DatePart(mm, [Date]) = 9 And DatePart(yy, [Date]) = 2010 Then MetaData End ) As [Sep-10]
...
From Table
Where [Date] Between @StartDate And @EndDate
Group By Title
同様に、Broken Link で提案されている PIVOT 機能を使用できます。ただし、上記のソリューションと PIVOT 機能の両方が static に依存しています。 列宣言。列の動的リスト (別名動的クロス集計) が必要な場合は、T-SQL が主に設計された目的の範囲外です。 可能です いくつかのばかげた動的 SQL を使用しますが、脆弱で扱いにくいものです。代わりに、中間層コンポーネントで結果セットを構築するか、クロス集計結果を構築するレポート ツールを使用する必要があります。