代码
declare
@t
table
(Date
datetime
, Name
varchar
(
30
),
Money
money
)
insert @t
select dateadd (dd, 10 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, 11 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, 12 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 13 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 6 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 1 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, - 2 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, - 3 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 4 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 40 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 20 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 30 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 60 , getdate ()), ' b ' , 10.0000
SELECT CONVERT ( VARCHAR ( 7 ),Date, 120 ) + ' - ' +
case when day (date) between 1 and 15 then ' 上半月 ' else ' 下半月 ' end ,
Name,
SUM ( Money )
FROM @t t
GROUP BY CONVERT ( VARCHAR ( 7 ),Date, 120 ) + ' - ' +
case when day (date) between 1 and 15 then ' 上半月 ' else ' 下半月 ' end ,
Name
insert @t
select dateadd (dd, 10 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, 11 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, 12 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 13 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 6 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 1 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, - 2 , getdate ()), ' a ' , 10.0000 union all
select dateadd (dd, - 3 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 4 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 40 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, - 20 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 30 , getdate ()), ' b ' , 10.0000 union all
select dateadd (dd, 60 , getdate ()), ' b ' , 10.0000
SELECT CONVERT ( VARCHAR ( 7 ),Date, 120 ) + ' - ' +
case when day (date) between 1 and 15 then ' 上半月 ' else ' 下半月 ' end ,
Name,
SUM ( Money )
FROM @t t
GROUP BY CONVERT ( VARCHAR ( 7 ),Date, 120 ) + ' - ' +
case when day (date) between 1 and 15 then ' 上半月 ' else ' 下半月 ' end ,
Name