SQL SERVER,一张表中,有多个字段关联另一张表,怎么写SQL语句?

例如A表中有aUserid,bUserid,cUserid字段,但显示的时候我肯定是不想显示id的,得join一下User表来取得UserName,我知道可以join三次User表,但有没有更简单效率的办法?难道一定要N个字段关联User表我就要join它N次?

对于这个问题,无论语句怎么写,其实执行起来数据库内部还是要用join操作来进行处理的,所以你用join就可以,优化的话可以再User表的id属性上加索引(如果是主键默认是有索引的)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-01
原理的确是你那个思路。但可以通过下面方式来简化写法

select
auserid,auserdes = (select userdes from user b where a.auserid = b.user),
buserid,buserdes = (select userdes from user b where a.bauserid = b.user),
cuserid,cuserdes = (select userdes from user b where a.causerid = b.user),
from userlist a来自:求助得到的回答本回答被提问者采纳
第1个回答  2013-02-01
join也可以的
相似回答