我想基于同一表中另一列的最小值来更新表中的列。

例如。

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


我想将ContactId更新为1,如果它是0,并且JobPositionId是最低的。

最佳答案

我认为这应该工作:

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


有点类似于此处(http://www.xaprb.com/blog/2006/06/23/how-to-select-from-an-update-target-in-mysql/)所述的黑客行为。

关于mysql - 用表中的最小值进行更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3559713/

10-11 04:46