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

SQL クエリ;水平から垂直

    UNION ALL を使用できます :

    select No, 'Flag_1' as FlagName, Flag_1 as Flag_Value
    from yourtable
    union all
    select No, 'Flag_2' as FlagName, Flag_2 as Flag_Value
    from yourtable
    union all
    select No, 'Flag_3' as FlagName, Flag_3 as Flag_Value
    from yourtable
      

    または UNPIVOT :

    select no, FlagsName, flag_value
    from yourtable
    unpivot
    (
        flag_value
        for FlagsName in (Flag_1, Flag_2, Flag_3)
    ) u
      

    SQL Fiddle with Demo を参照してください。




    1. 1052:フィールドリストの列'id'があいまいです

    2. SQLにおけるMySQLとSQLiteの違い

    3. MySQLにアンダースコアを全文検索の単語区切り文字として扱わせるにはどうすればよいですか?

    4. MySQLトランザクションをテストする方法は?