如何在select语句中使用变量进行查询

例如有一成绩表(chengji)nameyuwenshuxueyingyuaa10088106bb9012095如果明确知道想查询语文成绩可以写成:selectyuwen... 例如有一成绩表(chengji)
name yuwen shuxue yingyu
aa 100 88 106
bb 90 120 95

如果明确知道想查询语文成绩可以写成:
select yuwen
from chengji

但现实中也许并不知道会查询哪一科成绩,我想将字段名用变量来代替,详细内容如下:
declare @subject char(10)
set @subject='yuwen'
select @subject
from chengji
实际运行后证明是错误的,select语句中出现变量时,被看作是赋值语句而非查询语句。
所以我的问题是:如何在select语句中使用变量进行查询。
谢谢
展开
 我来答
匿名用户
2006-01-27
展开全部
当字段名、表名为变量时,可以使用动态SQL语句。
declare @columnname varchar(20)
set @columnname='yuwen'
exec('select '+@columnname+' from chengji') --单引号内的空格不能省
戢璐桑寄柔
2019-09-20 · TA获得超过3755个赞
知道小有建树答主
回答量:3136
采纳率:25%
帮助的人:164万
展开全部
val=get(hObject,'value');
shengming={'安徽','北京','福建','甘肃','广东','广西','贵州','海南','河北','河南',...
'黑龙江','湖北','湖南','吉林','江苏','江西','辽宁','内蒙古','宁夏','青海',...
'山东','山西','陕西','上海','四川','天津','西藏','新疆','云南','浙江','重庆'};
str=shengming(val);
conna=database('climateuser','','');
curs=exec(conna,['select
NAME
from
STATION_INFO
where
PROVINCE=str']);
curs=fetch(curs);
data=curs.Data;
close(curs)
close(conna)
有这么一段程序,hObject为一popupmenu点击后返回个值,如何让数据库调用各省内市的名字。通过定义str为一变量不可以,程序总显示错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
静静的世界34
2015-06-28 · TA获得超过1370个赞
知道小有建树答主
回答量:847
采纳率:91%
帮助的人:369万
展开全部
val=get(hObject,'value');
shengming={'安徽','北京','福建','甘肃','广东','广西','贵州','海南','河北','河南',...
'黑龙江','湖北','湖南','吉林','江苏','江西','辽宁','内蒙古','宁夏','青海',...
'山东','山西','陕西','上海','四川','天津','西藏','新疆','云南','浙江','重庆'};
str=shengming(val);
conna=database('climateuser','','');
curs=exec(conna,['select NAME from STATION_INFO where PROVINCE=str']);
curs=fetch(curs);
data=curs.Data;
close(curs)
close(conna)
有这么一段程序,hObject为一popupmenu点击后返回个值,如何让数据库调用各省内市的名字。通过定义str为一变量不可以,程序总显示错误。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式