2011-07-03 4 views
1

도로 블록을 실행하기위한 다양한 옵션을 시도했습니다.다른 테이블의 값을 기준으로 값을 업데이트하십시오.

두 개의 테이블이 있습니다. customefieldvalue 테이블에서 stringvalue가 'Minor'일 때마다 이슈 테이블에서 우선 순위를 4로 업데이트하려고합니다.

+2

두 테이블은 서로 어떻게 링크되어 있습니까? WHERE 절에는 그러한 조건이 없습니다. –

+0

어떤 오류가 발생 했습니까? – Flimzy

+0

거기에서 값을 잊어 버렸습니다. – shinyidol

답변

2

표가 어떤 식 으로든 관련되어 있다고 가정합니다. 문제 아이디 필드를 가정 해 봅시다. 당신은 아마 또한 당신이 어떤 사용자 정의 필드보다 이후가 아니라 단지 사람으로 사용자 정의 필드를 좁힐 중첩 된 쿼리의 WHERE 절에 조건을 원하는

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

: 그래서 당신이 뭔가를 할 수 있습니다 값 '마이너', 같은 :이 모든 시간을 실행하려는 경우

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

하고, 당신은 이미 주에서 올바른 값을 가지고있는 사람을 필터링해야하는 위치 절 :

WHERE priority <> '4' AND IssueId IN (... 
+0

아주 좋은 답변입니다. – hidden

+0

도움 주셔서 감사합니다. 나는 너의 제안을 받아들이게했다. – shinyidol

관련 문제