在表格中使用Min更新

时间:2010-08-24 18:24:45

标签: mysql sql sql-update min

我想根据同一个表中另一列的最小值更新表中的列。

例如

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

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

1 个答案:

答案 0 :(得分:1)

我认为这应该有效:

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/)。