当前位置: 代码迷 >> Sql Server >> 查询2个表轮换其中1个字段的内容(跪着等)
  详细解决方案

查询2个表轮换其中1个字段的内容(跪着等)

热度:91   发布时间:2016-04-24 09:25:27.0
查询2个表替换其中1个字段的内容(跪着等)
有如下2个表 想用一个语句把  输出表1的所有结果并将 用户ID1和用户ID2 分别替换成表2对应的姓名
表1
ID              用户ID1            用户ID2             XX
1                      2                        3                     a
2                      1                        2                     b
3                      3                        1                     c

表2
用户ID             姓名
     1                   AA  
     2                   BB
     3                   CC

------解决思路----------------------
SELECT a.ID,
       b1.姓名 用户1,
       b2.姓名 用户2,
       a.XX
  FROM 表1 a
  JOIN 表2 b1
    ON a.用户ID1 = b1.用户ID
  JOIN 表2 b2
    ON a.用户ID2 = b2.用户ID


------解决思路----------------------
update 表1 set 表1.用户ID1=表2.姓名 from 表1 join 表2 on (表1.用户ID1=表2.用户ID) where 表1.用户ID1 IS NOT NULL;
update 表1 set 表1.用户ID2=表2.姓名 from 表1 join 表2 on (表1.用户ID2=表2.用户ID) where 表2.用户ID1 IS NOT NULL
  相关解决方案