Question

Je veux mettre à jour une colonne dans une table, sur la base du minimum d'une autre colonne de la même table.

par exemple.

JobPositonId | JobPositonName | JobDescriptionId | ContactId
1            | 1              | 1                | 1
2            | 1              | 1                | 0
3            | 1              | 1                | 0

Je veux mettre à jour contactID à 1, si elle est 0 et où JobPositionId est le plus bas.

Était-ce utile?

La solution

Je pense que cela devrait fonctionner:

update jobTable
   set contactid = 1
 where jobPostitionId in (select pos from (select min(jobPositionId) as pos from jobTable where contactId = 0) as subtable);

Il est un peu un hack similaire à ce qui est décrit ici ( http://www.xaprb.com/blog/2006/06/23/how-to-select-from-an-update-target-in-mysql/ ).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top