例如我有以下的三个表A,B,C
CREATE TABLE A
(
A1 VARCHAR (10),/*工號*/
A2 VARCHAR (10),/*姓名*/
A3 VARCHAR (10)/*部門代號*/
)
GO
CREATE TABLE B
(
B1 VARCHAR (10),/*工號*/
B2 VARCHAR (10),/*加班日期*/
B3 VARCHAR (10) /*部門名稱*/
)
GO
CREATE TABLE C
(
C1 VARCHAR (10),/*部門代號*/
C2 VARCHAR (10) /*部門名稱*/
)我现在要一次性的吧C表中的部门名称按照相对的工号,部门代号写到B表中,哪位大侠帮帮哈~~~

解决方案 »

  1.   


    insert into B(B1,B3) select A.A1,C.C2 from A,C where A.A3=C.C1
      

  2.   

    我想用UPDETA 呢,我以前要有数据,现在要更新吊咧~~~
      

  3.   

    赶着去吃饭 你试试看
     update b set b.b3=d.depname from b inner join (select a.a1 as eid,c.c2 as depname from a inner join c on a.a3=c.c2) d on b.b1=d.eid
      

  4.   

    我要更新的是B表的B3(部门名称)啊,其中有好多条数据,我要一次从C表中把部门名称按照相对应的工号、部门号来更新B表中的B3(部门名称)啊,你在上面写的那个语句是一次只能更新一条数据啊,不行的,我要一次可以把B表中的数据更新完的~~~
      

  5.   

    上面的弄错了不好意思
    begin tran  
    update   b   set   b.b3=d.depname   from   b   inner   join   (select   a.a1   as   eid,c.c2   as   depname   from   a   inner   join   c   on   a.a3=c.c1)   d   on   b.b1=d.eid
                                                                       ~~~~
    select * from b                                                           
    rollback tran
    这样你试试