2016-10-21 3 views
0

저는 postgres에서 새로운 기능을 수행하며 null 필드를 다른 값으로 설정하려고합니다. 나는이 쿼리를 실행하면 잘 작동 :내부 쿼리가 병합되어 null 값을 설정합니다.

SELECT COALESCE(Field,'xxx) from Table; 

을하지만, 대신 모든 필드에 'XXX'을 가지고, 나는 이런 식으로 그들을 채우려는이 일에서

SELECT COALESCE(Field,select id from user where user.id = someOtherTable.id) from Table; 

, 나는 select 근처에서 구문 오류가 발생합니다.

이 값을 어떻게 동적으로 설정할 수 있습니까?

+1

괄호 일 :'COALESCE를 선택 (Field, (user.id = someOtherTable.id에서 user로부터 id를 선택)) from Table; – Abelisto

답변

0

이 코멘트에서 말했다는 내부 쿼리의 주위에 괄호는

0

귀하의 질문은, 그러나 아마이 같은 뭔가를 아주 명확하지 찾고있다 :

@Abelisto으로
UPDATE mytable m 
SET field = COALESCE(field, o.value) 
FROM someothertable o 
WHERE m.id = o.id; 
관련 문제