–> 测试数据:[a1]
if object_id(‘[a1]’) is not null drop table [a1]
create table [a1]([id] int,[sortid1] int,[sortid2] int,[info] varchar(5))
insert [a1]
select 1,1,3,’info’ union all
select 2,2,4,’info2′
–> 测试数据:[b2]
if object_id(‘[b2]’) is not null drop table [b2]
create table [b2]([sortid] int,[name] varchar(5))
insert [b2]
select 1,’分类1′ union all
select 2,’分类2′ union all
select 3,’分类3′ union all
select 4,’分类4′
select * from [a1]
select * from [b2]
select a1.id,sortid1,b2.name,a1.sortid2,b.name,a1.[info]
from dbo.a1
left join b2 on a1.sortid1 = b2.sortid
left join b2 b on a1.sortid2 = b.sortid
/*
id sortid1 name sortid2 name info
———– ———– —– ———– —– —–
1 1 分类1 3 分类3 info
2 2 分类2 4 分类4 info2
(2 行受影响)
*/
原始方法
select id,rortid1,b.name as name1 , sortid2,c.name as name2,info
from a left join b on a.rortid1=b.rortid
left join b c on a.rortid2=b.rortid
比较实用的方法
视图可以简化操作,不能提高性能。可以尝试建立索引视图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1836962.html