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

例如。

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-to-select-from-an-patate-target-target-inget-in-mysql/).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top