表中有商品和价格两个字段
有10多条记录  如何更新多个商品的价格  更新的价格不一样
我准备这么写 update sp set 价格= 20,36,25 where id in (1,2,3)
这样不对  应该怎么写啊?

解决方案 »

  1.   

    把新记录放到另一张表
    做表关联更新,关联的字段为ID
    如:Update A
    set A.Price=B.Price
    From Table1 A  
    Inner join Table2 B
    on A.ID=B.ID
      

  2.   

    因为更新的价格值是随机数,是不确定的,为了省事才想要!我不想一条一条的更新.难道没办法一起在一张表里面更新吗?
    商品 价格  ID 
    笔    10   1
    本子  11   2
    毛笔  25   3
    手机  10   4
    这样的一个表 我想要价格在一定的区间中随即变化 
    i1:=random(10);
    i2:=random(20);想用i1 i2  更新ID 为2 3的记录
      

  3.   

    liangpei2008  最近很少看到你了,呵
      

  4.   

    update sp set 
    价格= 
    case when id=1 then 20
         when id=2 then 36
         when id=3 then 25 
         else 价格 
    end楼主的要求好像是这样的,你看看行不?我没测试
      

  5.   


    思路是对的,不过这样写会吧整个表的记录都刷新一遍,万一这个表记录很多……,后面再加上一个条件语句就完美了
    update sp set 
    价格= 
    case when id=1 then 20
         when id=2 then 36
         when id=3 then 25 
         else 价格 
    end 
    where id in (1,2,3)
      

  6.   

    Access不支持case语句只有一条一条执行更新了