最佳回答
0
北纬六十六度 Lv4 初级互助 发布于2021-12-3 10:01(编辑于 2021-12-3 10:11)
新建一个表带上所有日期,新表 left join 这个表
Zwzz(提问者)
- 可以不建表实现吗,客户那边不让建
北纬六十六度 回复 Zwzz(提问者)
- create 临时表也不行么
北纬六十六度 回复 Zwzz(提问者)
- 哈找到了,去百度了一下,直接获取当月所有天
SELECT CONVERT(VARCHAR(10), DATEADD(dd, number,CONVERT(VARCHAR(8), GETDATE(), 120)+ \'01\'), 120) AS dt
FROM master..spt_values WHERE type = \'P\'AND DATEADD(dd, number,CONVERT(VARCHAR(8), GETDATE(), 120)+ \'01\')
<= DATEADD(dd, -1,CONVERT(VARCHAR(8), DATEADD(mm,1, GETDATE()), 120)+ \'01\');
Zwzz(提问者) 回复 北纬六十六度
- 我去试试
北纬六十六度 回复 Zwzz(提问者)
- https://www.cnblogs.com/jpfss/p/11131335.html
mysql的
取消
评论
最佳回答
0
LTC朝 Lv6 高级互助 发布于2021-12-3 10:01(编辑于 2021-12-3 10:14)
这个在设计器中比较简单,根据月份将月份天数进行扩展,然后利用过滤条件进行匹配
Zwzz(提问者)
- 我在设计器里用range实现了当月天数扩展,但是过滤匹配不上
LTC朝 回复 Zwzz(提问者)
- 有天数之后和年份、月份进行整合成短日期样式,再和数据表中的日期进行匹配
Zwzz(提问者) 回复 LTC朝
- 我去试一下你的图例
LTC朝 回复 Zwzz(提问者)
- 之后把行1和列B都隐藏
取消
评论
最佳回答
0
free_zz Lv6 中级互助 发布于2021-12-3 10:02(编辑于 2021-12-3 10:34)
需要有一张日期维表,当成左表关联你这张交易数据表
弄个子查询把你想要的月份所有日期查出来,参数a表示你可以传的月份,如下:
SELECT
ADDDATE(y.first, x.d - 1) as d
FROM
(
SELECT 1 AS d UNION ALL
SELECT 2 UNION ALL
SELECT 3 UNION ALL
SELECT 4 UNION ALL
SELECT 5 UNION ALL
SELECT 6 UNION ALL
SELECT 7 UNION ALL
SELECT 8 UNION ALL
SELECT 9 UNION ALL
SELECT 10 UNION ALL
SELECT 11 UNION ALL
SELECT 12 UNION ALL
SELECT 13 UNION ALL
SELECT 14 UNION ALL
SELECT 15 UNION ALL
SELECT 16 UNION ALL
SELECT 17 UNION ALL
SELECT 18 UNION ALL
SELECT 19 UNION ALL
SELECT 20 UNION ALL
SELECT 21 UNION ALL
SELECT 22 UNION ALL
SELECT 23 UNION ALL
SELECT 24 UNION ALL
SELECT 25 UNION ALL
SELECT 26 UNION ALL
SELECT 27 UNION ALL
SELECT 28 UNION ALL
SELECT 29 UNION ALL
SELECT 30 UNION ALL
SELECT 31
) x,(SELECT '${DATEINMONTH(CONCATENATE(a,'-01'),-1)}' - INTERVAL DAY('${DATEINMONTH(CONCATENATE(a,'-01'),-1)}') - 1 DAY AS first, DAY('${DATEINMONTH(CONCATENATE(a,'-01'),-1)}') AS yestoday) y
WHERE x.d <= y.yestoday
最佳回答
0
Z4u3z1 Lv6 专家互助 发布于2021-12-3 10:02
简单方法:
新建一张日期表A,然后
SELECT * FROM A RIGHT JOIN (交易数据) B ON A.日期=B.日期 where XXXXXX
Zwzz(提问者)
- 可以不建表实现吗,客户那边不让建
Z4u3z1 回复 Zwzz(提问者)
- 什么数据库?
Zwzz(提问者) 回复 Z4u3z1
- mysql
Z4u3z1 回复 Zwzz(提问者)
- https://blog.csdn.net/kunlyy/article/details/89519205?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link
参考这个 构造一个表出来然后left或者right JOIN
取消
评论
最佳回答
0
胡歌 Lv7 中级互助 发布于2021-12-3 10:20
如果是sqlserver数据库,可以用系统表
SELECT number FROM MASTER..spt_values WHERE TYPE = 'p'