============================
A表:
============================goodsid     code
1           10001
2           10002
3           10004============================
B表:
============================code        max
10001       88
10002       99
10004       66
============================
现C表是:
============================
goodsid     max
1           null
2           null
3           null
============================
问题:
============================  如何把C表里的max 字段用 B表里的数据替换,  搞了1天了,  关联还是不对,查询分析器老提示出错
   请帮我指正一下  谢谢

解决方案 »

  1.   


     最后的结果 要这样才行============================
    C表:
    ============================
    goodsid     max
    1           88
    2           99
    3           66
      

  2.   

    不明白我是这样写的:update  c  
    set  max=b.mxc
    from a  join  b 
    on  a.code=b.code and c.goodsid=a.goodsid
      

  3.   

    Create Table A
    (goodsid Int,
     code Varchar(10))
    Insert A Select 1,           '10001'
    Union All Select 2,           '10002'
    Union All Select 3,           '10004'Create Table B
    (code Varchar(10),
     [max] Int)
    Insert B Select '10001',       88
    Union All Select '10002',       99
    Union All Select '10004',       66Create Table C
    (goodsid Int,
     [max] Int)
    Insert C Select 1,           null
    Union All Select 2,           null
    Union All Select 3,           null
    GO
    Update C
    Set [max] = B.[max]
    From A 
    Inner Join B 
    On A.code = B.code
    Inner Join C 
    On A.goodsid = C.goodsidSelect * From C
    GO
    Drop Table A,B,C
    --Result
    /*
    goodsid max
    1 88
    2 99
    3 66
    */
      

  4.   

    Update C
    Set [max] = B.[max]
    From A,B,C
    where a.code=c.code
    and a.goodsid=c.goodsid 
      

  5.   

    Create Table A
    (goodsid Int,
     code Varchar(10))
    Insert A Select 1,           '10001'
    Union All Select 2,           '10002'
    Union All Select 3,           '10004'Create Table B
    (code Varchar(10),
     [max]Int)
    Insert B Select '10001',       88
    Union All Select '10002',       99
    Union All Select '10004',       66Create Table C
    (goodsid Int,
     [max]Int)
    Insert C Select 1,           null
    Union All Select 2,           null
    Union All Select 3,           null
    GO
    UPDATE c SET [max]=b.[max] 
    FROM a,b,c 
    WHERE a.code=b.code and a.goodsid=c.goodsiddrop table a
    drop table b
    drop table c