update  shopping_staticpageinfo spi
set spi.unitprice=mp.currentsaleprice
from shopping_staticpageinfo spi inner join   shopping_price mp on spi.typeid = mp.typeid and spi.unitprice-mp.currentsaleprice!=0我想判断当mp里面的商品和spi里面的商品一样,mp里面的价格和spi里面的价格不等,那么就让他们相等。SQL怎么写

解决方案 »

  1.   

    update shopping_staticpageinfo spi
    set spi.unitprice
    =(select mp.currentsaleprice from shopping_price mp  
    where  spi.typeid = mp.typeid and spi.unitprice-mp.currentsaleprice!=0)
      

  2.   

    update shopping_staticpageinfo spi
    set spi.unitprice
    =(select mp.currentsaleprice from shopping_price mp   
    where spi.typeid = mp.typeid and spi.unitprice<>mp.currentsaleprice
      

  3.   


    update shopping_staticpageinfo spi
    set spi.unitprice
    =(select mp.currentsaleprice from shopping_price mp   
    where spi.typeid = mp.typeid and spi.unitprice<>mp.currentsaleprice)
    where spi.typeid = mp.typeid and spi.unitprice<>mp.currentsaleprice
      

  4.   


    update shopping_staticpageinfo spi
    set spi.unitprice
    =(select mp.currentsaleprice from shopping_price mp   
    where spi.typeid = mp.typeid and spi.unitprice<>mp.currentsaleprice)
    where exist (select 1 from shopping_price mp  where spi.typeid = mp.typeid and spi.unitprice<>mp.currentsaleprice)
      

  5.   

    UPDATE SHOPPING_STATICPAGEINFO SPI
       SET SPI.UNITPRICE = (SELECT MP.CURRENTSALEPRICE
                              FROM SHOPPING_MARKPRICE MP
                             WHERE SPI.TYPEID = MP.MARKTYPEID
                               AND SPI.UNITPRICE <> MP.CURRENTSALEPRICE)
     WHERE EXISTS
     (SELECT 1
              FROM SHOPPING_MARKPRICE MP SPI.TYPEID = MP.MARKTYPEID AND SPI.UNITPRICE <> MP.CURRENTSALEPRICE)