请教一个查询脚本的写法

瘦马 技术部门负责人  2015-09-02 09:36:13
想请教一个问题,
有用户表A 字段userid,name
如1,张三
2,李四
有业务表B 字段job,sjman,jsman
如jobAAAA,1,2
表b中的sjman,jsman均取自表A中的userID

请问:如何写查询脚本,得到这样的结果
jobAAAA,张三,李四

有个写法是,
select B.job,a.name,b.name from 
B left join A as a on B.sjman=a.userid
B left join A as b on B.jsman=b.userid

我就是因为不想写两次join才问的
...全文
134 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
道玄希言 2015-09-02
子查询和连接两种方式, 貌似在数据量不大的时候,(1w以内)效率都差不多 但是在数据量大点时, 用连接查询的效率,好像会高些。
回复
czfxwpy 2015-09-02
SELECT * INTO #t FROM (
SELECT 1 id,'张' name
UNION ALL 
SELECT 2,'李'
) a
SELECT * FROM #t

SELECT * INTO #t2 FROM (
SELECT 'jobAAAA' job ,1 sjman1,2 sjman2) a
SELECT * FROM #t2

SELECT job,(select name FROM #t a WHERE a.id=b.sjman1) sj1,
(SELECT name FROM #t a WHERE a.id=b.sjman2) sj2
FROM #t2 b
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-09-02 09:36
社区公告
暂无公告