3 tables join update

Поиск
Список
Период
Сортировка
От rihad
Тема 3 tables join update
Дата
Msg-id 46FE9385.6080705@mail.ru
обсуждение исходный текст
Ответы Re: 3 tables join update  (Richard Broersma Jr <rabroersma@yahoo.com>)
Список pgsql-general
Hi,

Say I want to update table Foo with data in table Bar iff left join
between Foo and yet another table Baz finds no match.

UPDATE Foo foo LEFT JOIN Bar bar ON (foo.bar_id=bar.id)
SET foo.baz_id=baz.id
FROM Baz baz
WHERE bar.id IS NULL;

ERROR:  syntax error at or near "LEFT"


UPDATE Foo foo
SET foo.baz_id=baz.id
FROM Baz baz LEFT JOIN Bar bar ON (foo.bar_id=bar.id)
WHERE bar.id IS NULL;

ERROR:  invalid reference to FROM-clause entry for table "foo"
HINT:  There is an entry for table "foo", but it cannot be referenced
from this part of the query.



Is it possible to rewrite this so that it does what I want in a single
query? Important: performance matters.

Thanks.

В списке pgsql-general по дате отправления:

Предыдущее
От: "Hristo Filipov"
Дата:
Сообщение: Re: TSearch - Bulgarian
Следующее
От: Richard Broersma Jr
Дата:
Сообщение: Re: 3 tables join update