求一个SQL联合查询

三碗猪脚 2012-04-21 02:41:45
现在有两个表
users 表
有两列
id,name
1 张三
2 李四
3 王五
4 周六
表groups
有四列
id,user1Id,user2Id,user3Id
1, 1,2,3
2,2,3,4
表groups记录的都是ID,我想查询结果增加三列把用户的姓名信息也加进去
如id,user1Id,name1,user2Id,name2,user3Id,name3
1,1,张三,2,李四,3,王五
2,2,李四,3,王五,4,周六

要求效率比较高,实际应用的数据量比较大,不要用嵌套查询
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tommore 2012-04-21
  • 打赏
  • 举报
回复

select a.id,
a.user1id, (select name from users t1 where t1.user1id = a.user1id) name1,
a.user2id, (select name from users t2 where t2.user1id = a.user1id) name2,
a.user3id, (select name from users t3 where t3.user1id = a.user1id) name3,
from groups a
三碗猪脚 2012-04-21
  • 打赏
  • 举报
回复
原来可以搞几个别名,3Q
百年树人 2012-04-21
  • 打赏
  • 举报
回复
select a.id,a.user1id,b.name as name1,a.user2id,c.name as name2,a.user3id,d.name as name3
from groups a
left join users b on a.user1id=b.id
left join users c on a.user2id=c.id
left join users d on a.user3id=d.id

34,593

社区成员

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

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