Dim cmd As new SQLCommand
cmd.Con nectionName =
cmd.Com mandText = "select max(year(结佣日)) as 最大结佣年,max(month(结佣日)) as 最大结佣月,min(month(结佣日)) as 最小结佣月 fr om {YW_佣金管理} Where Year(结佣日) = Year(GetDate()) "
dt = cmd.Exe cuteReader()
Dim ma As String = dt.compute("max(最大结佣月)")
Dim maa As String = dt.compute("max(最大结佣年)")
Dim su As String
For i As Integer = 1 To ma
su = su & ",sum(case when month(结佣日) = " & i & " then 已收佣金 else 0 end) as [" & i & "]"
Next
Dim s As String="SELECT max(_identify) as _identify,部门所属, 部门名称 " & su & " FR OM {YW_佣金管理} Where Year(结佣日) = " & maa & " GROUP BY 部门所属, 部门名称"
msgbox(s)
这种能统计到今年每自然月的佣金,但是我们不是以自然月算的,请问如何把
month(Case When Day(结佣日) > 28 Then DateAdd(d,3,结佣日) Else 结佣日 End)
放进sql里面去,使其统计统计从上月的29号只统计月的28日