Re: [GENERAL] 3 tables join update

2007-10-01 Thread Alban Hertroys
rihad wrote: Richard Broersma Jr wrote: UPDATE Foo foo SET ... FROM LEFT JOIN Bar bar USING(common_field) WHERE blah='blah' AND bar.common_field IS NULL; ERROR: syntax error at or near JOIN I know I'm misusing UPDATE ... FROM because I don't really want Bar's values to go into Foo,

Re: [GENERAL] 3 tables join update

2007-09-30 Thread rihad
Richard Broersma Jr wrote: --- rihad [EMAIL PROTECTED] wrote: 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; This query cannot work. I know. So how do I do it efficiently? Thanks. ---(end of

Re: [GENERAL] 3 tables join update

2007-09-30 Thread rihad
Richard Broersma Jr wrote: --- rihad [EMAIL PROTECTED] wrote: 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; This query cannot work. Basiclly, you are trying to set the foo.baz_id = baz.id for records in foo that do not yet

[GENERAL] 3 tables join update

2007-09-29 Thread rihad
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

Re: [GENERAL] 3 tables join update

2007-09-29 Thread Richard Broersma Jr
--- rihad [EMAIL PROTECTED] wrote: 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; This query cannot work. Basiclly, you are trying to set the foo.baz_id = baz.id for records in foo that do not yet exist. Doing this is