|
最佳回答 |
1
|
axingLv6专家互助发布于2021-6-11 14:21(编辑于 2021-6-11 14:22)
|
select b.month,a.* from
销售表 a left join 时间区间表 b on a.times between b.starttime and b.endtime
|
|
|
|
最佳回答 |
0
|
luojian0323Lv7资深互助发布于2021-6-11 14:10
|
select a.*,b.month from 表A a left join 表B b on a.某个ID=b.某个id
|
-
wayne_(提问者)
- 正常销售表里的字段举个例子是2021-06-11,时间表里三个字段分别是2021-05-29,2021-06-29,6,每月29号至下月29号为当前月,这种形式,需要进行判断,每月ID这个字段
-
luojian0323 回复 wayne_(提问者)
- 我以为你的A表取不到月份值
你直接截取不就完了
select a.*,substr(a.日期,6,2) month from 表A a
|
|
|
最佳回答 |
0
|
wangfutaoLv5初级互助发布于2021-6-11 14:12
|
在查询的时候用这个函数,获取times中的月份,MONTH(TIMES)然后重新命名一个字段即可
|
|
|
|
最佳回答 |
0
|
Z4u3z1Lv6专家互助发布于2021-6-11 14:14(编辑于 2021-6-11 14:28)
|
你是不是想问:自然月中的日期与财务账套的月对应关系? 比如2021-05-15 至2021-06-14为2021-05???
|
-
wayne_(提问者)
- 不是问这个,正常销售表里有1万行,即1万个时间,时间表里是起始时间及月份固定好了,现在要把这一万个时间在时间表里的月份找出来,时间是落在起始时间内的
|
|
|
最佳回答 |
0
|
jeerenLv5见习互助发布于2021-6-11 15:26(编辑于 2021-6-11 15:29)
|
不考虑年份: select datepart(month,A.TIMES) as 月份,其它字段 from B left join A on A.TIMES between B.STARTTIME and B.ENDTIME 否则可以用格式化时间函数convert(varchar(100),A.TIMES,112)再截取或拼接,然后比较
|
|
|