我模拟了data.frames并使代码在模拟数据上运行良好,但是当我尝试在实际数据上使用相同的代码时,它只返回data.frame列表中的最后一个数据。这是我的模拟数据和代码:
select t.id, t.name,
sum(case when oa.team1id = t.id then oa.team1score else 0 end +
case when oa.team2id = t.id then oa.team2score else 0 end)
from team t
outer apply(select g.team1id, g.team2id, s.team1score, s.team2score
from game g
join score s on g.id = s.gameid
where team1id = t.id or team2id = t.id) oa
group by t.id, t.name
有谁知道为什么代码不能处理真实数据?