sql存储过程把查询的结果赋给一个值应该怎么写?
create proc proc_test@year int,--年份
@typeId int,--类型
@money1 varchar(100),
@money2 varchar(100)
as
if exists(select * from consume where datepart(year,ConsumeDate)= @year and datepart(month,ConsumeDate)= 1)
begin
--我想把查询的值赋给@money1 ,我知道下面的写法是错的,应该怎么写?
set @money1 = select sum(consumeMoney) from consume where datepart(year,ConsumeDate)= @year and typeId = @typeId
end
else
begin
set @money1 = 0 --设置如果找不到这个月的收入支出,就设置为0, 这里怎么写?
end
--下面差不多,只是参数不同
if exists(select * from consume where datepart(year,ConsumeDate)= @year and datepart(month,ConsumeDate)= 2)
begin
--下面怎么写
set @money2 = select sum(consumeMoney) from consume where datepart(year,ConsumeDate)= @year and typeId = @typeId
end
else
begin
set @money2 = 0 -- 设置一个值, 这里怎么写?
end
--把上面查询的的两个结果合并到一条sql语句输出怎么写?
select @money1 @money2 ?????