おはようございます、いくつかのデータを含む動的テーブルを描画しようとしています。このクエリは、日、週、および動的に計算したいデータを含むテーブルを描画します。
これは私のクエリです
use Alfri
;with monthDates
as
(
select DATEADD(month, 0, CONVERT(DATE,'2013-09-09',102)) as d
,DATEPART(week, DATEADD(month, datediff(month, 0, '2013-09-09'),0)) as w,
(
SELECT SUM(
CASE WHEN arrive_yard IS NOT NULL THEN
DATEDIFF(mi, Solicitado, Libre)-DATEDIFF(mi, arrive_yard, leave_yard)
ELSE
DATEDIFF(mi, Solicitado, Libre)
END
) as Tiempo
FROM MovimientoHoras
WHERE CONVERT(DATE, Solicitado, 102) = '2013-10-11'
) as info
union all
select DATEADD(day, 1, d)
,DATEPART(week, DATEADD(day, 1, d))
, info
from monthDates
where d < DATEADD(month, datediff(month, 0, '2013-10-09')+1,-1)
)
SELECT * FROM monthDates
このクエリは、このようなテーブルを描画します。
d |w |info |
2013-09-09 | 36 | 2780|
2013-09-10 | 37 | 2780|
2013-09-11 | 37 | 2780|
2013-09-12 | 37 | 2780|
2013-09-13 | 37 | 2780|
2013-09-14 | 37 | 2780|
2013-09-15 | 37 | 2780|
2013-09-16 | 37 | 2780|
しかし、情報の列は動的に計算されておらず、これは私のジレンマです。
ポイントは、列 d が動的に計算され、それが info の列クエリで使用したい値です。D がすべての行で変化する日付ではWHERE CONVERT(DATE, Solicitado, 102) = d) as info
なく、このようなものです。WHERE CONVERT(DATE, Solicitado, 102) = '2013-10-11') as info
のデータ'2013-10-11'
そのサブクエリで日を変更するWhileのようなもの
ありがとう