sql按照时间分类,月份去对应当月的数量,当月没有数据的,能不能也显示月份

image.png

FineReport 用户77231274 发布于 2021-8-27 16:23
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
shirokoLv6资深互助
发布于2021-8-27 16:25

select * from (

SELECT '01' month FROM DUAL UNION ALL SELECT '02' month FROM DUAL UNION ALL SELECT '03' month FROM DUAL UNION ALL SELECT '04' month FROM DUAL UNION ALL SELECT '05' month FROM DUAL UNION ALL SELECT '06' month FROM DUAL UNION ALL SELECT '07' month FROM DUAL UNION ALL SELECT '08' month FROM DUAL UNION ALL SELECT '09' month FROM DUAL UNION ALL SELECT '10' month FROM DUAL UNION ALL SELECT '11' month FROM DUAL UNION ALL SELECT '12' month FROM DUAL

) a

left join 你的表 b on a.month =b.month

自建一个月份表关联

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-8-27 16:31

MS SQL 

WITH B AS(

select '2013-01-01' [startDate],'2013-12-31' [endDate]

)

select convert(varchar(7),dateadd(MONTH,number,startDate),120) as [year] 

from B , master..spt_values

where type='P' and number>=0 

and dateadd(MONTH,number,startDate)<=endDate 

image.png

最佳回答
0
Dragon丶Lv2见习互助
发布于2021-8-27 16:34

看你SQL语句,这个应该是要把月份表当主表在左连接子表,这样主表的数据就会全部出来了

  • 3关注人数
  • 330浏览人数
  • 最后回答于:2021-8-27 16:34
    请选择关闭问题的原因
    确定 取消
    返回顶部