在存储过程中把参数作为列名进行查询, 高手来看看了 小问题
declare @weekn nvarchar(30),@week1day nvarchar(20),//日期
@member nvarchar(20),//姓名
@week int,
@sql nvarchar(200)
select @weekn=weekn from 表A where [id]=98 //(@weekn)这个数据存在别的表
set @member='姓名'
set @week1day='2009-1-4'
set @sql='select '+@weekn+' from 表B where week1date='+char(39)+@week1day+char(39)+' and memberid='+char(39)+@member+char(39)
exec (@sql) //这个查询结果是对的 但是我想获取@weekn 这个列是数据 怎么写???
结果为 :
11
把 @sql 这个查询结果赋给 @week 怎么写????
例如
把值@weekn的值赋给@aa
select @aa=@weekn from 表B --------------------编程问答-------------------- @week 是int
@sql结果是个集合。你怎么赋给他呀
实在是没明白你说的。 --------------------编程问答-------------------- set @sql='select ' + cast(@week as varchar) + '=' +@weekn+' from 表B where week1date='+char(39)+@week1day+char(39)+' and memberid='+char(39)+@member+char(39)
是想这样吗 --------------------编程问答--------------------
CREATE procedure getRealData
@FieldName varchar(30)
as
begin
exec ('select '+@fieldname+' FROM hisData ')
end
GO
列作为参数 --------------------编程问答-------------------- @sql 的返回结果是一个值 --------------------编程问答-------------------- set @sql='select ' + cast(@week as varchar) + '=' +@weekn+' from 表B where week1date='+char(39)+@week1day+char(39)+' and memberid='+char(39)+@member+char(39)
是想这样吗,你试下 --------------------编程问答-------------------- set @sql='select ' + cast(@week as varchar) + '=' +@weekn+' from 表B where week1date='+char(39)+@week1day+char(39)+' and memberid='+char(39)+@member+char(39)
是想这样吗
这个方法好像不行哦 @week没有值 --------------------编程问答-------------------- 帮忙看一下了 高手帮我解决一下这个小问题 谢谢了 在线等!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 没有人回答了 吗???高手 人呢??怎么不出现
补充:.NET技术 , C#