0

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

例如。

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

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

4

1 回答 1

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

于 2010-08-24T19:12:16.813 回答