UPDATE table1 a SET field1 = a.field1 || (SELECT regexp_replace(b.field1, '....', '...') FROM table2 b WHERE a.id = b.id AND b.field1 LIKE '....') WHERE a.field1 NOT LIKE '....'
Paul
On Tue, Dec 4, 2012 at 11:52 AM, Sebastian P. Luque <spluque@gmail.com> wrote:
Hi,
I need to update field1 in table1, gathering data from field1 in table2. The following SELECT shows the data as it needs to be updated:
SELECT a.field1 || regexp_replace(b.field1, '.*(mypattern)', e'. \\1') FROM table1 a JOIN table2 b USING (id) WHERE a.field1 NOT LIKE '%mypattern%' AND b.field1 LIKE '%mypattern%';
I am not sure how to translate this into an UPDATE statement for fiel1 in table1 efficiently. Any tips welcome.