2017-07-13 11 views
0

Ich habe eine Tabelle Gehalt, das wie folgt aussieht, die m = männliche und f = weibliche Werte hat. Ich möchte alle f und m Werte mit einer einzelnen Aktualisierungsabfrage tauschen.mehrere Felder mit einzelnen SQL-Abfrage austauschen

| id | name | sex | salary | 
|----|------|-----|--------| 
| 1 | A | m | 2500 | 
| 2 | B | f | 1500 | 
| 3 | C | m | 5500 | 
| 4 | D | f | 500 | 

Nach dem Ausführen der Abfrage sollte die obige Gehaltsliste wie folgt aussehen.

| id | name | sex | salary | 
|----|------|-----|--------| 
| 1 | A | f | 2500 | 
| 2 | B | m | 1500 | 
| 3 | C | f | 5500 | 
| 4 | D | m | 500 | 

Mein Code sieht derzeit wie folgt aus:

UPDATE salary 
SET sex = 'm' 
WHERE sex = 'f' 
AND SET sex = 'f' 
WHERE sex = 'm' ; 

kann jeder sehen, wo ich mit meiner Anfrage werde nicht in Ordnung?

+0

Sie eine 'case' expression..your Syntax ist ungültig verwenden können. –

Antwort

0

Sie können es auf diese Weise tun

UPDATE @table 
SET  [Sex] = CASE [Sex] 
        WHEN 'm' THEN 'f' 
        WHEN 'f' THEN 'm' 
       END;