0

SQLの疑いが1つありました。実際には、各色の値に対して更新クエリを何度も使用する必要があります...各色の状態を毎回確認するのが難しくなっています..

Bulk 'update' の下で実行するための単一の SQL ステートメントはありますか? 教えてください..

update `myTable` set `COLOR`='white'  WHERE `CATEGORY` = 'Dress' and `NAME` like '%white%'
update `myTable` set `COLOR`='red'  WHERE `CATEGORY` = 'Dress' and `NAME` like '%red%'
update `myTable` set `COLOR`='blue'  WHERE `CATEGORY` = 'Dress' and `NAME` like '%blue%'
update `myTable` set `COLOR`='pink'  WHERE `CATEGORY` = 'Dress' and `NAME` like '%pink%'
4

2 に答える 2

0

使用できますCASE

Update  myTable
SET     COLOR = CASE 
                     WHEN  CATEGORY = 'white' AND NAME like '%white%' THEN 'white'
                     WHEN  CATEGORY = 'red' AND NAME like '%red%' THEN 'red'
                     WHEN  CATEGORY = 'blue' AND NAME like '%blue%' THEN 'blue'
                     WHEN  CATEGORY = 'pink' AND NAME like '%pink%' THEN 'pink'
                     ELSE  value 
                END
WHERE   CATEGORY  IN ('white','red','blue','pink')  
于 2013-10-17T08:53:01.630 に答える