为此尝试了各种不同的选项,但遇到了障碍。
我有两张 table 。每当 customefieldvalue 表中的 stringvalue 为“次要”时,我想在问题表中将优先级更新为 4。
UPDATE issue SET priority = '4'
FROM customfieldvalue
WHERE customfieldvalue.stringvalue = 'Minor';
最佳答案
我假设这些表以某种方式相关,比如 IssueId 字段。所以你可以这样做:
UPDATE issue
SET priority = '4'
WHERE IssueId IN (SELECT IssueId FROM customfieldvalue WHERE stringvalue = 'Minor')
您可能还希望在嵌套查询的 where 子句中使用一个条件来缩小自定义字段的范围,使其成为您所关注的字段,而不是任何值为“次要”的自定义字段,例如:
WHERE customfieldname = 'PRIORITY' AND stringvalue = 'Minor'
如果你打算一直运行它,那么你应该过滤掉那些在主 where 子句中已经具有正确值的那些:
WHERE priority <> '4' AND IssueId IN (...
关于sql - 根据另一个表中的值更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560790/