求一简单SQL语句,急急急~~~~~~~~~~~

rex1984 2005-09-23 08:51:50
表结构如下:
学生表(学号 int,姓名 varchar(20),所属班级 int(外键联系班级表的班级编号))
班级表(班级编号 int(主键),备注 text)

我现在想通过一个学生的姓名模糊查询出所属的班级
一个班级对应多个学生
一个学生的姓名模糊查询可以查询出多个学生的记录即得到多个班级编号
我现在要得到相应的班级表中的所有字段,不需要学生的信息(但不要重复的记录,因为表中备注是text型,所以不能用distinct)



请各位大虾赐教~~~~~~~~~
...全文
195 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ditto0723 2005-09-24
  • 打赏
  • 举报
回复
希望对对有所帮助:
select max(班级编号),max(备注)
from 班级表 inner join 学生表 on 班级表.班级编号=学生表.班级编号
where 姓名 like '%'
group by 班级编号,备注

这个机上没装SQL所有语句没调试,可能会有错,请多多包涵.
lu_zihua 2005-09-24
  • 打赏
  • 举报
回复
uping...
skyyzhou 2005-09-24
  • 打赏
  • 举报
回复
declare @name varchar(20)
select * from 班级表 where 班级编号 in (
select 班级编号,备注 from 班级表, 学生表 where 班级表.班级编号=学生表.所属班级
and 学生表.姓名 like ''% @name %'')
rex1984 2005-09-23
  • 打赏
  • 举报
回复
1楼和3楼的兄弟:
如果我要通过'姓名'模糊查询学生表得到不重复的班级编号,且不能用distinct
该怎么办呢?
cqzw100 2005-09-23
  • 打赏
  • 举报
回复
select class.* from clase where 班级编号 in (select 所属班机 from student where 姓名 like '%'+@vName+'%')
Well 2005-09-23
  • 打赏
  • 举报
回复
学生表(学号 int,姓名 varchar(20),所属班级 int(外键联系班级表的班级编号))
班级表(班级编号 int(主键),备注 text)

declare @vName varchar(20)
select Class.* from 學生表 Student,班級表 Class
where Student.所屬班級=B.班級編號 and Student.姓名 like '%'+@vName+'%'
zlp321002 2005-09-23
  • 打赏
  • 举报
回复
1:我现在想通过一个学生的姓名模糊查询出所属的班级
select 班级编号,备注 from 班级表 a inner join 学生表 b on a.班级编号=b.所属班级
and b.姓名 like ''%学生姓名%''
2:一个班级对应多个学生
select a.班级编号,学生数=count(*) from 班级表 a inner join 学生表 b on a.班级编号=b.所属班级
group by a.班级编号
3:一个学生的姓名模糊查询可以查询出多个学生的记录即得到多个班级编号
我现在要得到相应的班级表中的所有字段,不需要学生的信息(但不要重复的记录,因为表中备注是text型,所以不能用distinct)
同1
singlepine 2005-09-23
  • 打赏
  • 举报
回复
declare @name varchar(20)
select 班级编号,备注 from 班级表 a inner join 学生表 b on a.班级编号=b.所属班级
and b.姓名 like ''% @name %''

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧