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

行データを列に動的に変換するmysqlクエリ

    可変数の列を返す静的SQLステートメントを作成することはできません。異なる地区の数が変わるたびに、そのような声明を作成する必要があります。そのためには、最初に

    を実行します。
    SELECT DISTINCT District FROM district_details;
    

    これにより、詳細がある地区のリストが表示されます。次に、前の結果(擬似コード)を反復処理するSQLステートメントを作成します

    statement = "SELECT name "
    
    For each row returned in d = SELECT DISTINCT District FROM district_details 
        statement = statement & ", SUM(IF(District=""" & d.District & """,1 ,0)) AS """ & d.District & """" 
    
    statement = statement & " FROM district_details GROUP BY name;"
    

    そして、そのクエリを実行します。次に、可変数の列の処理をコードで処理する必要があります



    1. mysqlは、動的な行の値を列名として選択し、別の列を値として選択します

    2. SELECT FROMステートメントでテーブルタイプを使用するにはどうすればよいですか?

    3. R12.2でのサービスグル​​ープの変更

    4. 列の変更と列の変更