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

ID列に基づいて行を列に転置します

    これにはSQLServerピボット句を使用できます:

    select
        p.*
    from Table1
    pivot(
        max([Field Selection])
        for [Field Name] in ([Rating 1], [Rating 2], [Rating 3])
    ) as p
    

    または、手動でピボットすることもできます:

    select
        ID,
        max(case when [Field Name] = 'Rating 1' then [Field Selection] end) as [Rating 1], 
        max(case when [Field Name] = 'Rating 2' then [Field Selection] end) as [Rating 2],
        max(case when [Field Name] = 'Rating 3' then [Field Selection] end) as [Rating 3]
    from Table1
    group by ID
    

    sqlフィドルデモ




    1. PHPで階層的なNESTEDSETデータを表示するにはどうすればよいですか?

    2. CDbMigrationを使用して、テーブルを変更するか、自動インクリメントをリセットします

    3. 1つの行だけが列に特定の値を持つことができるようにデータベーステーブルを制約するにはどうすればよいですか?

    4. postgresql-Macで起動-`pg_ctl`が機能しない