表1:Budget
ID DateA Handler Content Type MoneyA
1 2012-4-25 黄太太 NUll 肉 20.0000
2 2012-4-26 黄太太 NULL 肉 20.0000
3 2012-4-27 黄先生 NULL 电费 159.0000
4 ...............(还有比较多的数据就不写了哈)
求在某时间段内(比如2012-4-25到2012-4-27),黄太太买肉用掉的钱总共是多少?
我用vc连接数据空的时候用的是下面的语句:(到这里程序就不能运行了,编译没有出错)strsql.Format(_T("select SUM(MoneyA) as SumMoneyA from Budget where (DateA>='%s' and DateA<='%s') and Type='%s'and Handler='%s'"),strDateFrom,strDateTo,strAnaType,strAnaHandler);
我是上面的sql错了吗?如果错了要怎么改哇?或者大侠直接写一条给我试试。。跪求 !! 拜谢!!!
ID DateA Handler Content Type MoneyA
1 2012-4-25 黄太太 NUll 肉 20.0000
2 2012-4-26 黄太太 NULL 肉 20.0000
3 2012-4-27 黄先生 NULL 电费 159.0000
4 ...............(还有比较多的数据就不写了哈)
求在某时间段内(比如2012-4-25到2012-4-27),黄太太买肉用掉的钱总共是多少?
我用vc连接数据空的时候用的是下面的语句:(到这里程序就不能运行了,编译没有出错)strsql.Format(_T("select SUM(MoneyA) as SumMoneyA from Budget where (DateA>='%s' and DateA<='%s') and Type='%s'and Handler='%s'"),strDateFrom,strDateTo,strAnaType,strAnaHandler);
我是上面的sql错了吗?如果错了要怎么改哇?或者大侠直接写一条给我试试。。跪求 !! 拜谢!!!
declare @begintime datetime
declare @endtime datetimeselect sum(MoneyA) as SumMoneyA from budget where cast(DateA as datetime) between @begintime and @endtime
declare @endtime datetime
select @begintime='2012-4-25'
select @endtime='2012-4-27'
select sum(MoneyA) as SumMoneyA from budget where cast(DateA as datetime) between @begintime and @endtime
select SUM(MoneyA) as SumMoneyA
from Budget
where (DateA>='%s' and DateA<='%s')
and Type='%s' --你的语句本身没大问题, 只是这里少了一个空格
and Handler='%s'
declare @endtime datetime
declare @handler nvarchar(30)
declare @type nvarchar(30)select @begintime='2012-4-25'
select @endtime='2012-4-27'
--比如查询姓黄先生,买肉
select @handler='黄先生'
select @type='肉'
--精确查询
select sum(MoneyA) as SumMoneyA from budget where cast(DateA as datetime) between @begintime and @endtime and Handler=@handler and type=@type--模糊查询select sum(MoneyA) as SumMoneyA from budget where cast(DateA as datetime) between @begintime and @endtime and Handler like '%'+@handler='%' and type like '%'+@type+'%'
declare @begintime datetime
declare @endtime datetime
declare @handler nvarchar(30)
declare @type nvarchar(30)select @begintime='2012-4-25'
select @endtime='2012-4-27'
--比如查询姓黄先生,买肉
select @handler='黄先生'
select @type='肉'
--精确查询
select sum(MoneyA) as SumMoneyA from budget where cast(DateA as datetime) between @begintime and @endtime and Handler=@handler and type=@type--模糊查询select sum(MoneyA) as SumMoneyA from budget where cast(DateA as datetime) between @begintime and @endtime and Handler like '%'+@handler+'%' and type like '%'+@type+'%'
select '2012-4-25','黄太太','肉',20 union all
select '2012-4-26','黄太太','肉',20 union all
select '2012-4-27','黄太太','肉',20 union all
select '2012-4-28','黄太太','肉',20 union all
select '2012-4-29','黄太太','肉',20
go
select * from budget where datediff(day,'2012-4-25',datea)>=0 and datediff(day,'2012-4-27',datea)<=0 and handler='黄太太'
from Budget
where DateA>=convert(varchar(10),'2012-04-25',120) and DateA<=convert(varchar(10),'2012-4-27',120)
group by Handler