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也可以的

sqlserver将一张表的数据全部导入到另一张表应该怎么写?
1 两张表多存在实体,两表的字段相同,字段的顺序相同的话。insert into 表B select * from 表A 2 两张表多存在实体,两表的字段相同,字段的顺序不相同的话。表B字段 insert into 表B ( F1,F2,F3) select F1,F2,F3 from 表A 总之要对应使用 ...

同一张表两字段对应另一张表同一字段的SQL视图怎么写
select 字段1 || '-' ||字段2 as 字段1,字段3 as 字段2 from table1

sqlserver中把一个表的内容插入到另一个表的语句该怎么
在 SQL Server 中,将一个表的内容插入到另一个表可以通过 INSERT INTO 语句实现。语法结构为:目标表名 插入数据的表;列1、列2、列3 等 是需要插入的列名,如需插入所有列则可省略;源表名 是获取数据的表,若需要筛选特定数据可添加条件。举例说明,将表A所有数据插入到表B,可以编写如下语句...

sql server 中有一张表,我想把表中两列的数据合并后插入本表中另一列...
update table set 列3 = left(列1, 1) + right(列2, len(列2) - 1) where 条件...

将一个表中的某个字段插入到另一个表的字段,如何写SQL语句?_百度...
楼主说的是更新吧,楼上说的是SQL SERVER的语法,不知道楼主是什么数据库,如果是oracle的话 建议这么写:update a set col=(select col from b where a.id=b.id)exists(select 1 from b where a.id=b.id )注意:两个表的ID 一定要一一对应,不让会报错:查询单个值返回多条记录。

sql 查询一个表的结果与另一个表通过pid关联,得到需要显示的字段...
1CREATE TABLE 表名(字段名 [int] IDENTITY(1,1)NOT NULL)在SQL SERVER中,所有整数类型的列都可以定义成自增长列,叫作“标识”,它通过设定“标识种子”和“标识递增量”来实现功能。1、选中表; 2、右击鼠标,设计; 3、选中列(整数类型) 4、设定标识为“是“(默认为“否...

sql server 中如何将多个表的数据插入另一个新表
先用asp语言读取你的第一张旧表,把数据取出来写进新表。。再读第二张,再写。例子:旧表数据库连接对象为conn 新表数据库连接对象为conn2 set rs=conn.execute("select * from table1")do while not rs.eof name=rs("name")tel=rs("tel")conn2.execute("insert into newtable (name,tel...

在sql server中怎么进行字段的关联
表A(列1,列2,列3)表B(列1,列4,列5)那么关联语句可以这样写:--1、内连接select * from 表A a inner join 表B b on a.列1=b.列1--2、左连接select * from 表A a left join 表B b on a.列1=b.列1--3、右连接select * from 表A a right join 表B b on a.列1...

sql 一张表多字段等于另外一张表一个字段
update test1 set A=(select b from test2 where a=test1.a),B=(select b from test2 where a=test1.b),C=(select b from test2 where a=test1.c),D=(select b from test2 where a=test1.d)test1 为表1 test2 为表2,注意备份 ...

SQL语句 怎么把从一个表中查出来数据插入到另一个表中
标准SQL语句格式:INSERT INTO 表名(字段名)select 字段名 from 表面 例子:将查询出的s表中sno,j表中jno,p表中pno插入spj表中 insert into spj(sno,jno,pno)select sno,jno,pno from s,j,p

相似回答