问一个非常菜的问题,怎样用select更新多个字段?例如:
update a set
      ( BUYHOLD_NUM,--运行时提示'(' 附近有语法错误。
BUYOPEN_PRICE,
SELLCOUNT_PRICE,
COUNT_PRICE,
BUYFREEZE_NUM
               )=(
select 
SURPLUS_NUM,
OPEN_PRICE,
LAST_COUNTPRICE,
COUNT_PRICE,
0
from b 
where A.ACCOUNT_NO=b.ACCOUNT_NO and TRADE_DIRECT=1
);
我应该怎么写才对啊?

解决方案 »

  1.   

    UPDATE TB SET A=T.A ,B=T.B ,....SELECT A,B FROM TBB T
      

  2.   

    update a set 
    BUYHOLD_NUM=SURPLUS_NUM, 
    BUYOPEN_PRICE=OPEN_PRICE, 
    SELLCOUNT_PRICE=LAST_COUNTPRICE, 
    COUNT_PRICE=COUNT_PRICE, 
    BUYFREEZE_NUM=0
    from a,b
    where A.ACCOUNT_NO=b.ACCOUNT_NO and TRADE_DIRECT=1 
      

  3.   

    update 表 set 
    字段1=..,
    字段2=...
      

  4.   

    update a set 
    BUYHOLD_NUM=b.SURPLUS_NUM,
    BUYOPEN_PRICE=b.OPEN_PRICE, 
    SELLCOUNT_PRICE=b.LAST_COUNTPRICE, 
    COUNT_PRICE=b.COUNT_PRICE, 
    BUYFREEZE_NUM=0 
    from b 
    where A.ACCOUNT_NO=b.ACCOUNT_NO 
    and TRADE_DIRECT=1 
      

  5.   

    update a set 
    a.BUYHOLD_NUM=b.SURPLUS_NUM, 
    a.BUYOPEN_PRICE=b.OPEN_PRICE, 
    a.SELLCOUNT_PRICE=b.LAST_COUNTPRICE, 
    a.COUNT_PRICE=COUNT_PRICE, 
    a.BUYFREEZE_NUM=0
    from b 
    where A.ACCOUNT_NO=b.ACCOUNT_NO and a.TRADE_DIRECT=1 
      

  6.   


    update a
    set 
    BUYHOLD_NUM=SURPLUS_NUM, 
    BUYOPEN_PRICEOPEN_PRICE, 
    SELLCOUNT_PRICE=LAST_COUNTPRICE, 
    COUNT_PRICE=COUNT_PRICE , 
    BUYFREEZE_NUM=0
                 from b 
    where A.ACCOUNT_NO=b.ACCOUNT_NO and TRADE_DIRECT=1 --try
      

  7.   


    update a set 
        BUYHOLD_NUM=b.SURPLUS_NUM,
        BUYOPEN_PRICE=b.OPEN_PRICE, 
        SELLCOUNT_PRICE=b.LAST_COUNTPRICE, 
        COUNT_PRICE=b.COUNT_PRICE, 
        BUYFREEZE_NUM=0 
    from b 
    where A.ACCOUNT_NO=b.ACCOUNT_NO 
        and TRADE_DIRECT=1 
      

  8.   

    别结先凑点分
    update [表名]
    set 字段1='',字段2=''……
    where  [条件]
    字段1和字段2中间是逗号而不是and或是其它的。```谢谢LZ给分```