2010-08-24 3 views
0

Я хочу обновить столбец в таблице, основываясь на минимуме другого столбца той же таблицы.Обновление с помощью Min в таблице

например.

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

УДИВИТЕЛЬНОЕ, спасибо за это !!! –

+0

Работало ли оно на то, что вам нужно? (Всегда трудно понять, когда не настроена база данных для проверки на локальном уровне.) – MikeTheReader

Смежные вопросы