2013-04-30 3 views
0

j'ai une table nommée chart avec deux colonnes, du nom UPC_REPORT_ID et UPC_FLAG Je suis en train de préparer une requête mettre à jour un UPC_FLAG=1 si UPC_REPORT_ID=1 et en même temps je veux mettre à jour UPC_FLAG=0UPC_REPORT_ID !=2 S'il vous plaît me donner les suggestionsMise à jour même drapeau deux fois en utilisant MYSQL

+2

Toutes les lignes satisfaisant 'UPC_REPORT_ID = 1' satisferont également la condition' UPC_REPORT_ID! = 2'. Finalement, tous les 'UPC_FLAG' auront la même valeur – Ejaz

Répondre

1
UPDATE chart SET UPC_FLAG = (CASE WHEN UPC_REPORT_ID=1 THEN 1 ELSE CASE WHEN UPC_REPORT_ID !=2 THEN 0 END END) 
0
UPDATE chart 
SET UPC_FLAG = CASE UPC_REPORT_ID 
        WHEN 1 THEN 1 
        WHEN 2 then UPC_FLAG 
        ELSE 0 
       END 
0

utiliser lors

MISE A JOUR ... = régler UPC_FLAG CAS QUAND UPC_REPORT = 1 ALORS 1 QUAND UPC_REPORT_ID <> 2 0 ALORS FIN OÙ ...

--dmg

0

La même chose avec la réponse de SI AS Barmar

UPDATE chart 
SET UPC_FLAG = IF(UPC_REPORT_ID = 1,1,IF(UPC_REPORT_ID <> 2,2,0)) 
Questions connexes