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

列名を生成する動的SQL?

    メタデータから動的ピボットSQLを生成することにより、長年にわたってこれらの多くに答えてきたので、次の例を見てください。

    SQLDynamicPivot-列の順序付け方法

    不明な列数でのSQLServer2005ピボット

    どのSQLクエリまたはビューに「動的列」が表示されるか

    T-SQLでXML列の属性をピボットするにはどうすればよいですか

    月をピボットするSQLステートメントにDRY原則を適用する方法

    特定の場合(SQL Server 2005のPIVOT機能の代わりにANSIピボットを使用):

    DECLARE @template AS varchar(max)
    SET @template = 'SELECT 
    SKU1
    {COLUMN_LIST}
    FROM
    OrderDetailDeliveryReview
    Group By
    OrderShipToID,
    DeliveryDate,
    SKU1
    '
    
    DECLARE @column_list AS varchar(max)
    SELECT @column_list = COALESCE(@column_list, ',') + 'SUM(Case When Sku2=' + CONVERT(varchar, Sku2) + ' Then Quantity Else 0 End) As [' + CONVERT(varchar, Sku2) + '],' 
    FROM OrderDetailDeliveryReview
    GROUP BY Sku2
    ORDER BY Sku2
    
    Set @column_list = Left(@column_list,Len(@column_list)-1)
    
    SET @template = REPLACE(@template, '{COLUMN_LIST}', @column_list)
    
    EXEC (@template)
    


    1. Postgresqlでアップサートを実行しているときにONCONFLICT句で部分インデックスが使用されない

    2. アクセスから最も恩恵を受けるのはどの業界ですか?

    3. HttpHandlerを使用したデータベース化された画像のストリーミング

    4. SQLServerでGOステートメントを使用してID列にレコードを挿入する方法-SQLServer/T-SQLチュートリアルパート42