sql server 2005中将两列同时作为查询条件怎么做
这里好像用Transact-SQL语句,我的代码如下:select学号,姓名,课程名,成绩from选课innerjoin学生on选课.学号=学生.学号innerjoin课...
这里好像用Transact-SQL语句,我的代码如下:
select 学号,姓名,课程名,成绩
from 选课
inner join 学生 on 选课.学号=学生.学号
inner join 课程 on 选课.课程号=课程.课程号
where (选课.学号,成绩) in
(select 学号,max(成绩) 成绩
from 选课 group by 学号)
提示错误
消息 102,级别 15,状态 1,第 5 行
',' 附近有语法错误。
我查了一下,好像在sql里是对的,但是用Transact-SQL就是错的。所以我想问,用Transact-SQL语句怎么实现
where (选课.学号,成绩) in
(select 学号,max(成绩) 成绩
from 选课 group by 学号)
这段的功能 展开
select 学号,姓名,课程名,成绩
from 选课
inner join 学生 on 选课.学号=学生.学号
inner join 课程 on 选课.课程号=课程.课程号
where (选课.学号,成绩) in
(select 学号,max(成绩) 成绩
from 选课 group by 学号)
提示错误
消息 102,级别 15,状态 1,第 5 行
',' 附近有语法错误。
我查了一下,好像在sql里是对的,但是用Transact-SQL就是错的。所以我想问,用Transact-SQL语句怎么实现
where (选课.学号,成绩) in
(select 学号,max(成绩) 成绩
from 选课 group by 学号)
这段的功能 展开
2个回答
2015-04-09
展开全部
例 表 aaa
a b c
16 1 6
56 2 6
26 2 6
select * from aaa where a=rtrim(b)+rtrim(c);
检索结果
a b c
16 1 6
26 2 6
已上是以 a,b 都为字符型 字段为例,如果其中一个或者都是 数值 字段,要做数据类型的转换
稍作修改
a b c
16 1 6
56 2 6
26 2 6
select * from aaa where a=rtrim(b)+rtrim(c);
检索结果
a b c
16 1 6
26 2 6
已上是以 a,b 都为字符型 字段为例,如果其中一个或者都是 数值 字段,要做数据类型的转换
稍作修改
追问
sql server2005有这个函数吗?
网上查了一下,好像从2008开始有吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询