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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER,一张表中,有多个字段关联另一张表,怎么写SQL语句?相关的知识,希望对你有一定的参考价值。

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

对于这个问题,无论语句怎么写,其实执行起来数据库内部还是要用join操作来进行处理的,所以你用join就可以,优化的话可以再User表的id属性上加索引(如果是主键默认是有索引的) 参考技术A 原理的确是你那个思路。但可以通过下面方式来简化写法

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来自:求助得到的回答本回答被提问者采纳
参考技术A join也可以的

复制表结构和内容到另一张表中的SQL语句

1.复制表结构及数据到新表

CREATE TABLE 新表
SELECT * FROM 旧表 

2.只复制表结构到新表

CREATE TABLE 新表
SELECT * FROM 旧表 WHERE 1=2

3.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表
SELECT * FROM 旧表s

4.复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,…….)
SELECT 字段1,字段2,…… FROM 旧表

 

以上是关于SQL SERVER,一张表中,有多个字段关联另一张表,怎么写SQL语句?的主要内容,如果未能解决你的问题,请参考以下文章

如何用标准SQL语句给一张表中添加多个字段

SQL关联两张表查数据,结果只显示一条。

SQL关联两张表查数据,结果只显示一条。

sql server里如何将一组用逗号分隔的字符串分解并插入到另一张表中,比如:11873,27827, 也可能是好多

sql存储过程从一张表中查询到的值作为另一张表的新的字段

关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张表的另一字段