sql >> データベース >  >> RDS >> Sqlserver

イベントのテーブルと日付範囲の間の t-sql クエリ

    探しているものは、一般にクロス集計クエリと呼ばれます。 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 を使用しますが、脆弱で扱いにくいものです。代わりに、中間層コンポーネントで結果セットを構築するか、クロス集計結果を構築するレポート ツールを使用する必要があります。



    1. DockerコンテナからPostgresqlダンプを生成する方法は?

    2. mysqlで使用されている接続を監視して「接続が多すぎます」をデバッグします

    3. コンストラクターSQLiteOpenHelper()は未定義です

    4. Javaデスクトップ-データベースアクセスをUIスレッドから分離する方法は?