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

Oracle-単一の行を複数の行に分割

    最も簡単な方法は、union allを使用することです。 :

    select object_tested, test_date, test_a as test, test_a_result as test_result
    from table t
    union all
    select object_tested, test_date, test_b as test, test_b_result as test_result
    from table t;
    

    出力にテストのタイプが必要な場合:

    select object_tested, test_date, 'a' as test_type, test_a as test, test_a_result as test_result
    from table t
    union all
    select object_tested, test_date, 'b' as test_type, test_b as test, test_b_result as test_result
    from table t;
    

    Oracle 11は、unpivotもサポートしています。 同様のことをする演算子。非常に大きなテーブルがあり、パフォーマンスが気になる場合は、unpivot またはjoinを使用するメソッド 動作します。



    1. cx_Oracle-DLLのロードに失敗しました:%1は有効なWin32アプリケーションではありません。 Python

    2. SQL Serverで外部キーを削除するにはどうすればよいですか?

    3. C#でMySQL接続状態を確認する方法

    4. ペアリングを実施する制約のためのデータベース設計