最后70分,全拿出来了,如要解决了,另外几个相关帖分一并送,郁闷!
一个存储过程:
CREATE proc xxxx
(
@companyname varchar(1000)=null--这里不知道要如何改,改成什么类型的
)
as
begin
select 公司id,gsid,公司名称,sum(金额) as 用款总额 from
(
select * from a
union all
select * from b
) t
where 审批意见='同意'
and gsid in (case when @companyname is null then gsid else @companyname end)
group by 公司id,gsid,公司名称 order by 公司id
end
GO
我想实现@companyname这个输入参数可以直接支持如这样的123,56,554(数量不定,数值是gsid字段值)或是123这样单个gsid
如果@companyname采用varchar类型,则输入数据后会提示:
将 varchar 值 ''357,650'' 转换为数据类型为 int 的列时发生语法错误。
改成int更不用提了,网上查了很多资料,但是搞了半天也不知道要如何套进我的语句中去
前台ASP查询数据库得出的gsid in (这里的值是123,545,8如此类的数据),通过调用这个存储过程取得数据,请高手帮忙改一下吧,急用,再拿不出来,就要挨K了解