两个查询如何合并

如何把下面查询“本周年级平均分”和“上周年级平均分”,合到一起?


select 年级,'本周年级平均分' = AVG(实际得分)

from dbo.班级日考核

where convert(varchar(10),日期,23) between '${dateinweek(today(),1)}' and '${today()}'

GROUP BY 年级


select 年级,'上周年级平均分' = AVG(实际得分)

from dbo.班级日考核

where convert(varchar(10),日期,23) between '${dateinweek(today()-7,1)}' and '${dateinweek(today()-7,-1)}'

GROUP BY 年级


FineReport nxwzqy1 发布于 2020-3-24 14:57 (编辑于 2020-3-24 14:58)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
1
axingLv6专家互助
发布于2020-3-24 15:02
select 年级,
AVG(case when convert(varchar(10),日期,23) between '${dateinweek(today(),1)}' and '${today()}' then 实际得分 else 0 end) 本周年级平均分,
AVG(case when convert(varchar(10),日期,23) between '${dateinweek(today()-7,1)}' and '${dateinweek(today()-7,-1)}' then 实际得分 else 0 end) 上周年级平均分
from dbo.班级日考核
where convert(varchar(10),日期,23) between '${dateinweek(today()-7,1)}' and '${today()}'
GROUP BY 年级


最佳回答
1
qq1320929786Lv6初级互助
发布于2020-3-24 15:01

with a  as(

select 年级,'年级平均分' = AVG(实际得分)

from dbo.班级日考核

where convert(varchar(10),日期,23) between '${dateinweek(today(),1)}' and '${today()}'

GROUP BY 年级

), b as ( 

select 年级,'年级平均分' = AVG(实际得分)

from dbo.班级日考核

where convert(varchar(10),日期,23) between '${dateinweek(today()-7,1)}' and '${dateinweek(today()-7,-1)}'

GROUP BY 年级

 )


select * from a

left join b on a.年级=b.年级

最佳回答
1
明明1117Lv6见习互助
发布于2020-3-24 15:01

union

最佳回答
1
小歆嵩Lv7初级互助
发布于2020-3-24 15:02
select 年级,'本周年级平均分' = AVG(实际得分)
from dbo.班级日考核
where convert(varchar(10),日期,23) between '${dateinweek(today(),1)}' and '${today()}'
GROUP BY 年级
union all
select 年级,'上周年级平均分' = AVG(实际得分)
from dbo.班级日考核
where convert(varchar(10),日期,23) between '${dateinweek(today()-7,1)}' and '${dateinweek(today()-7,-1)}'
GROUP BY 年级


最佳回答
0
shirokoLv6资深互助
发布于2020-3-24 15:00

union all

  • 6关注人数
  • 489浏览人数
  • 最后回答于:2020-3-24 15:02
    请选择关闭问题的原因
    确定 取消
    返回顶部