アルファベット順ではなく、月または順序に基づいて行を並べ替える必要があります。
以下のクエリを実行すると、次の結果が得られます
Col Mon Tue Wed Thu Fri
--- --- --- --- --- ---
Feb 1 2 3 4 5
Jan 2 3 4 5 6
Mar 3 4 5 6 7
次のように注文するにはどうすればよいですか。
Col Mon Tue Wed Thu Fri
--- --- --- --- --- ---
Jan 2 3 4 5 6
Feb 1 2 3 4 5
Mar 3 4 5 6 7
私のクエリ:
select *
from
(
select LEFT(datename(dw,datetime),3) as DateWeek,
col,
value
from DataTable
cross apply
(
values ('Jan', JData), ('Feb', FData), ('Mar', MData)
) c (col, value)
) src
pivot
(
sum(value)
for dateweek in (Mon, Tue, Wed, Thu, Fri)
) piv
現時点では、値の行を次のように置き換えています。
values ('1.Jan', JData), ('2.Feb', FData), ('3.Mar', MData)
もっと良い解決策があると思います