-_-select ID,PNAME,
(select CNAME from 表1 where ID=a.COUNTRY_ID) as CNAME
from 表2

解决方案 »

  1.   

    select a.id,a.pname,b.cname from 人员表 a left join 国籍表 b on a.COUNTRY_ID=b.id
      

  2.   

    如果更新表的话,会出现错误,原因是你的字段类型不一样~这里仅给你一条语句,参考用~update 人员表 set  COUNTRY_ID=b.cname from 人员表 a left join 国籍表 b on a.COUNTRY_ID=b.id
      

  3.   

    --建立环境
    Create Table COUNTRY(C_ID int,CNAME  varchar(20))
    Create Table PELPEO(P_ID int,PNAME  varchar(20),C_ID int,COUNTRY_Name varchar(20))Insert INTO COUNTRY(C_ID,CNAME)
    Select '1','中国' UNION ALL
    Select '2','韩国' UNION ALL
    Select '3','朝鲜'Insert INTO PELPEO(P_ID,PNAME,C_ID)
    Select '1','张三','1' UNION ALL
    Select '2','李四','1'  UNION ALL
    Select '3','金则珠','2' UNION ALL
    Select '4','安真焕','2'GO--测试环境
    --设置更新
    UPDATE PELPEO SET PELPEO.COUNTRY_Name=COUNTRY.CNAME
    FROM PELPEO INNER JOIN COUNTRY ON PELPEO.C_ID =COUNTRY.C_ID Select * From COUNTRY
    Select * From PELPEOGO
    --删除环境
    Drop Table COUNTRY
    Drop Table PELPEO
    GO
      

  4.   

    谢谢itblog(BegCSharp)了   
    你那个left join是什么意思啊 ?
      

  5.   

    Left join是外联结即取得Left join前面那张表关联字段的所有信息
      

  6.   

    update a
    set a.country_id = b.cname
    from 表2 a inner join
         表1 b on a.country_id = b.id但是要保证表2的字段country_id和表1的字段cname的类型及长度‘兼容’