以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  日期逻辑问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130679)

--  作者:188802386
--  发布时间:2019/1/28 21:12:00
--  日期逻辑问题
月度新增
Dim t1 As Date = Date.Today
Dim t2 As String = year(t1)
Dim cmd As new SQLCommand
Dim dt As DataTable
cmd.C">cmd.CommandText = "select max(year(成交日期)) as 最大结佣年,max(month(成交日期)) as 最大结佣日,min(month(成交日期)) as 最小结佣日 fr om {佣金} Where Year(成交日期) =  Year(GetDate()) "
dt = cmd.ExecuteReader()
Dim ma As String = dt.compute("max(最大结佣日)")
Dim maa As String = dt.compute("max(最大结佣年)")
Dim mi As Integer = dt.compute("min(最小结佣日)")
Dim su As String
For i As Integer = 1 To ma
su = su & ",sum(case when month(Case When Day(成交日期) > 28 Then DateAdd(d,3,成交日期) Else 成交日期 End) = " & i & " then 已收佣金 else 0 end + case when month(Case When Day(成交日期) > 28 Then DateAdd(d,3,成交日期) Else 成交日期 End) = " & i & " then 未收佣金 else 0 end) as [" & i & "月]" 

我想获得每个月的新增业绩  但是我们公司是每月的28日结算,导致每月的日期应该是12月29日-1月28日,1月29日-2月28日 .........
但是现在的代码是1月1日-1月28日,2月1日-2月28日 ....  少了上月的29到最后一天,请问该如何来修改代码 先谢谢了

--  作者:有点蓝
--  发布时间:2019/1/28 21:18:00
--  
{佣金}表结构和数据是怎么样的,截图看看
--  作者:188802386
--  发布时间:2019/1/28 21:35:00
--  
佣金表有成交日期 部门 姓名 已收佣金 未收佣金 列 想动态生成部门 姓名 1月(12月29日-1月28日) 2月(1月29日-2月28日) …… 佣金表有几月的数据就生成几个月的
--  作者:有点蓝
--  发布时间:2019/1/28 21:40:00
--  
截图或者上传具体实例看看