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

動的ピボットを使用してすべての null 値を持つ行を非表示にする

    piovot および列リスト クエリのソースとして使用される内部クエリに where 条件を追加する必要があります

    DECLARE @columns NVARCHAR(MAX)      
           ,@sql NVARCHAR(MAX)
    
    SET @columns = N''
    --Get column names for entire pivoting
    SELECT @columns += N', ' + QUOTENAME(SpreadCol)
      FROM (select distinct Part_Number as SpreadCol 
            from test WHERE  Quantity IS NOT NULL 
           ) AS T
    --select @columns
    SET @sql = N'
    SELECT SubPart, ' + STUFF(@columns, 1, 2, '') + '
    FROM
    (select SubPart , Part_Number as SpreadCol ,  Quantity
    from test WHERE  Quantity IS NOT NULL  ) as D
    PIVOT
    (
      sum(Quantity) FOR SpreadCol IN ('
      + STUFF(REPLACE(@columns, ', [', ',['), 1, 1, '')
      + ')
    ) AS Pivot1
    '
    



    1. ストアドプロシージャを使用せずに、C#でMySQLCommandを使用してMySQLで一括挿入を実行するための安全なクエリを作成するにはどうすればよいですか?

    2. 生成されたJooqクラスをチェーンするときにあいまいな一致を解決する方法

    3. UPDATEFROM句のGROUPBY

    4. MySQLDDLをOracleDDLに自動的に変換するにはどうすればよいですか?