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

各行の列値に基づいて行を繰り返す

    再帰CTEを使用できます:

    with    cte(Job, Repeat, i) as 
            (
            select  Job
            ,       Repeat
            ,       0
            from    YourTable
            union all
            select  Job
            ,       Repeat
            ,       i + 1
            from    cte
            where   cte.i < cte.Repeat
            )
    select  *
    from    cte
    order by
            Job
    ,       i
    

    SQLFiddleでの実例。



    1. IDの一致に基づいた1つのテーブルから別のテーブルへのSQL更新

    2. MariaDBの日付から短い月の名前を取得する2つの方法

    3. バインドされたパラメータを複数回使用する

    4. SQLiteを除く