你必須對正常動態樞軸問題,杜一個有趣的變化e到已知事件最大數量的遊戲,這使得一個可能的解決方案變得更簡單一些。嘗試下面的SQL;它會創建一個第一行,其中包含所需的列標題,這可能足以滿足簡單的顯示目的。
declare @weekNo as int = 6
,@UserID as int = 1;
with
fixture(UserID, EventID, [Value], GameNo) as (
select -1, EventID, AwayTeamName + ' at ' + HomeTeamName
, row_number() over (partition by WeekNo order by EventID)
from usr_SS_Fixtures
),
prediction(UserID, EventID, [Value], GameNo) as (
select UserID, EventID, ResultCode
, row_number() over (partition by WeekNo order by EventID)
from usr_SS_Predictions
),
data as (
select
WeekNo, UserID
,[1],[2],[3],[4],[5],[6],[7]
from (
select WeekNo, UserID, EventID, [Value] from fixture
union all
select WeekNo, UserID, EventID, [Value] from prediction
) T
pivot (
max([Value]) for GameNo in ([1],[2],[3],[4],[5],[6],[7])
) pvt
)
select
UserID,[1],[2],[3],[4],[5],[6],[7]
from data
where WeekNo = @WeekNo
order by
UserID
'我無法獲得數據透視查詢工作.'顯示您的試用版,正確標記問題(SQL Server)並準備http://sqlfiddle.com。無論如何,這個問題是相同問題主軸/動態主軸的1001個重複。 – lad2025