Обновить значение на основе значения в другой таблице - PullRequest
1 голос
/ 03 июля 2011

Попробовал различные варианты для этого и просто столкнулся с дорожным блоком.

У меня есть две таблицы.Каждый раз, когда значение строки имеет значение 'Minor' в таблице customefieldvalue, я хочу обновить приоритет до 4 в таблице вопросов.

UPDATE issue SET priority = '4'
FROM customfieldvalue
WHERE customfieldvalue.stringvalue = 'Minor';

1 Ответ

2 голосов
/ 03 июля 2011

Я предполагаю, что таблицы каким-то образом связаны, скажем, в поле IssueId.Таким образом, вы можете сделать что-то вроде этого:

UPDATE issue
SET priority = '4' 
WHERE IssueId IN (SELECT IssueId FROM customfieldvalue WHERE stringvalue = 'Minor')

Возможно, вы также захотите, чтобы условие в предложении where во вложенном запросе сужало настраиваемое поле до того, которое вы ищете, а не любое настраиваемое поле.со значением 'Minor', например:

WHERE customfieldname = 'PRIORITY' AND stringvalue = 'Minor'

, и если вы собираетесь запускать это все время, вы должны отфильтровать те, которые уже имеют правильное значение в главном предложении where:

WHERE priority <> '4' AND IssueId IN (...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...