sql高手请进!一个困扰我很长时间的sql语句的写法......

stronggrass 2002-10-26 08:50:04
我很长时间以来一直只想到了一下一种方法写sql语句。

问题描述:有一个表(表一)中存的是人员的基础数据,字段有“code(人员编码)”、“name(人员名称)”等。在另一个表(表二)中,有几个关于人员的字段,存的都是编码,如“student”、"teacher"等。我想写一个sql语句,根据表二中的人员编码同时选出几个人员的名称,除了下面我写的还有没有更高效的方法?

各位大虾帮帮我,谢谢!

我写的sql:(其思想为先建立一个表,列出code,再把该表join表一,从join后的表中再选,有多少code,join多少次表一,效率太差)
select 学生,d.name from (
select a.name as 学生,b.teacher as 老师 from 表一 a inner join
表二 b on a.code = b.student
) c
inner join 表一 d on c.teacher=d.code
...全文
13 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
supsuccess 2002-10-26
点 帖子标题 后面的“管理”,输入密码,分配分数,再给分就OK了
回复
stronggrass 2002-10-26
我可以节贴吗?怎样给分?
回复
supsuccess 2002-10-26
:)
回复
stronggrass 2002-10-26
Thank you for your help!
I appreciate that very very much!
回复
supsuccess 2002-10-26
select t1.name as 学生,t3.name as 老师
from tab2 t2 join tab1 t1 on t1.code=t2.student
join tab1 t3 on t3.code=t2.teacher
回复
sdav 2002-10-26
SELECT a.student,b.name as studname,a.teacher,c.name as teachername
FROM 表二 a,表一 b,表一 c WHERE a.student = b.code AND a.teacher = c.code
同一楼上的老兄所说的,我想也没有其他的更好的东西了!
回复
qqqdong 2002-10-26
SELECT a.student,b.name as studname,a.teacher,c.name as teachername
FROM 表二 a,表一 b,表一 c WHERE a.student = b.code AND a.teacher = c.code
回复
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2002-10-26 08:50
社区公告
暂无公告