表a
ID  Name  type
1    "s1"   2
2    "s2"   2
3    "d1"   3
4    "d2"   3表b
 ID1  SID  DID
  1    1    3
SID DID 对应的都是a表的ID 
实现结果:
我想把表b中的 SID编号1转化成"s2" DID编号1转化成"d1"

解决方案 »

  1.   

    select b.ID1,a1.Name as SID,a2.Name as DID from b,a as a1,a as a2
        where b.SID=a1.ID and b.DID=a2.ID
      

  2.   

    update b表 set b.sid=a.name from b表 b
    inner join a表 a on a.id=b.sid
    同样Did也这样update下DID编号1转化成"d1"这个看不明白了。你DID字段中没1看上边对应的是3啊
      

  3.   

    谢谢,我说详细点表a
    ID      Name     type
    1        本子     文具
    2        毛       文具
    3        花       用品
    4        杯子     用品表b
    id   单据号  产地  文具ID   用品ID
    100   2-12-1  湖南   2        4我想要的结果 是:
    id   单据号  产地  文具   用品
    100   2-12-1  湖南   毛    杯子
      

  4.   

    update B
    set B.文具ID = isnull(A.ID, B.文具ID),
    B. 用品ID = isnull(C.ID, B.用品ID)
    from b表 B
    left join a表 A
    on B.文具ID = A.ID
    left join a表 C
    on b.用品ID = C.ID
      

  5.   

    update B
    set B.文具ID = isnull(A.Name, B.文具ID),
    B. 用品ID = isnull(C.Name, B.用品ID)
    from b表 B
    left join a表 A
    on B.文具ID = A.ID
    left join a表 C
    on b.用品ID = C.ID;with cte as
    (
    select
    B.文具ID,
    B.用品ID,
    文具Name = A.Name,
    用品Name = C.Name
    from b表 B
    left join a表 A
    on B.文具ID = A.ID
    left join a表 C
    on b.用品ID = C.ID
    )
    update cte
    set 文具ID = isnull(文具Name, 文具ID),
    用品ID = isnull(用品Name, 用品ID)
      

  6.   

    select id1,b.产地,s.name,t.name from b left join
     (select a.id,a.name from a) s on s.id=b.文具id 
     left join(select a.id,a.name from a) t on t.id=b.用品id