1

以下の Excel ロジックを SQL サブクエリに変換するのに助けが必要です。よろしくお願いいたします。

C列

  • 行 2) 10/1/12 4:24 PM
  • 行 3) 10/1/12 4:25 PM
  • 行 4) 10/1/12 4:26 PM
  • 行 5) 10/1/12 7:27 PM

累計分数

  • 行 2) 2
  • 行 3) 1
  • 行 4) 1
  • 行 5) 45

エクセル数式

  • 行 2) =IF((C3-C2)>45,45,(C3-C2)*1440)
  • 行 3) =IF((C4-C3)>45,45,(C4-C3)*1440)
  • 行 4) =IF((C5-C4)>45,45,(C5-C4)*1440)
  • 行 5) =IF((C6-C5)>45,45,(C6-C5)*1440)
4

1 に答える 1

1

これはどう:

WITH CTE(RowNumber, Date) AS(
select 1, '2012-01-10 16:22' union
select 2, '2012-01-10 16:24' union
select 3, '2012-01-10 16:25' union
select 4, '2012-01-10 16:26' union
select 5, '2012-01-10 19:27'
)
select b.Date, IIF(DATEDIFF(minute, a.Date, b.Date) > 45, 45, DATEDIFF(minute, a.Date, b.Date)) as AccumulatedMinutes
from CTE b left outer join CTE a on a.RowNumber = b.RowNumber - 1

戻り値:

2012-01-10 16:22    NULL
2012-01-10 16:24    2
2012-01-10 16:25    1
2012-01-10 16:26    1
2012-01-10 19:27    45
于 2013-02-15T10:19:24.643 に答える