2010-08-24 69 views
0

我想根據同一表的另一列的最小值更新表中的列。使用表中的最小值更新

例如。

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

我想更新ContactId爲1,如果它是0並且其中JobPositionId是最低的。

回答

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/)描述的是一個黑客。

+0

真棒,非常感謝! – 2010-08-24 19:22:37

+0

它是否適合你所需要的? (知道什麼時候沒有將數據庫設置爲在本地進行測試總是很困難。) – MikeTheReader 2010-08-24 21:19:18