Mise à jour avec un minimum dans le tableau
-
01-10-2019 - |
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.
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