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

各値を seq num までループします

    これのことですか?

    with myData as
    (
    select ID,
    row_Number() over (partition by Id order by id, StartDate) as SeqNum,
    min(startdate) over (partition by Id) as minDate,
    startDate, endDate
    from myTable
    )
    select id, seqNum, startDate, endDate, dateadd(day, seqNum*29, minDate) as newDate
    from myData;
    

    またはこれ:

    with myData as
    (
    select ID,
    row_Number() over (partition by Id order by id, StartDate) as SeqNum,
    min(startdate) over (partition by Id) as minDate, 
    max(endDate) over (partition by Id)as maxDate,
    startDate, endDate
    from myTable
    )
    select id, seqNum, startDate, endDate, 
     case 
     when maxDate < dateadd(day, seqNum*29, minDate)
     then maxDate 
     else dateadd(day, seqNum*29, minDate) end as newDate
    from myData;
    



    1. AndroidSQLiteクローズ例外

    2. PHPで複数の画像の挿入とアップロードを実行するにはどうすればよいですか?

    3. イミディエイトウィンドウの高速でダーティなForループ

    4. コールセッションが機能しないのはなぜですか? (codeigniter 3)