这样的SQL语句怎么写,一个表有多个字段对应另一个表中的同一字段?

mengbo 2003-11-11 10:40:22
如:User表(U):UserID UserName
1 A
2 B

Info表(I):InfoID StudentID TeacherID
100 1 2
其中StudentID、TeacherID都是存的UserID

要得到的结果是:I.InfoID I.StudentID U.UserName I.TeacherID U.UserName
100 1 A 2 B

当然要一个SQL语句搞定,谢谢!
...全文
685 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-11-11
  • 打赏
  • 举报
回复
select InfoID,StudentID,(select UserName from User where UserIDa.StudentID) UserName1,TeacherID,(select UserName from user where UserID=a.TeacherID) UserName2 from Info a
pengdali 2003-11-11
  • 打赏
  • 举报
回复
select InfoID,StudentID,(select username from user where studentid=a.studentid) UserName,TeacherID,(select username from user where TeacherID=a.TeacherID) UserName1 from Info a
mengbo 2003-11-11
  • 打赏
  • 举报
回复
多谢!但如果再要关联其它表进行条件查询,会不会受影响
再者这样关联对效率的影响有多大
zjcxc 元老 2003-11-11
  • 打赏
  • 举报
回复
select InfoID,StudentID
,UserName=(select top 1 username from user where studentid=a.studentid)
,TeacherID
,UserName1=(select top 1 username from user where TeacherID=a.TeacherID)
from Info a
txlicenhe 2003-11-11
  • 打赏
  • 举报
回复
Select a.InfoID,a.StudentID,b.UserName,a.TeacherID,c.UserName
from Info a
join User b on a.StudentID = b.UserID
join User c on a.TeacherID = c.UserID
sunshareforever 2003-11-11
  • 打赏
  • 举报
回复
select i.infoid,i.studentid,u.username,i.teacherid,uu.username
from info表 i left join user表 u on u.userid = i.studentid
left join user表 uu on uu.userid = i.teacherid
mengbo 2003-11-11
  • 打赏
  • 举报
回复
thanks,问题已经解决,给分

34,587

社区成员

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

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