2016-10-21 7 views
0

Я новичок в postgres, и я хотел бы установить нулевые поля для некоторых других значений. Когда я запускаю этот запрос, он отлично работает:внутренний запрос в coalesce для установки нулевых значений

SELECT COALESCE(Field,'xxx) from Table; 

Однако, вместо того, чтобы «XXX» для всех этих полей, я хочу, чтобы заполнить их, как это:

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

В этом, я Я получаю синтаксическую ошибку возле select.

Как я могу динамически установить эти значения?

+1

Скобки: 'ВЫБРАТЬ COALESCE (Поле, (выберите идентификатор пользователя, где user.id = someOtherTable.id)) из таблицы; ' – Abelisto

ответ

0

Как @Abelisto сказал в комментарии, скобки вокруг внутреннего запроса работал

0

Ваш вопрос не совсем ясен, но, вероятно, вы ищете что-то вроде этого:

UPDATE mytable m 
SET field = COALESCE(field, o.value) 
FROM someothertable o 
WHERE m.id = o.id;