Re: Update field to a column from another table

From: "Charles Clavadetscher" <clavadetscher(at)swisspug(dot)org>
To: <drum(dot)lucas(at)gmail(dot)com>, "'Postgres General'" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Update field to a column from another table
Date: 2016-04-21 05:53:28
Message-ID: 040701d19b92$267928a0$736b79e0$@swisspug.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

This could work:

UPDATE public.ja_jobs
SET time_job = a.tj
FROM
(
SELECT id AS rid,
clientid AS cid,
time_job AS tj
FROM junk.ja_jobs_23856
) AS a
WHERE a.rid = id
AND a.cid = clientid;

In the subselect a you need to rename the column names to avoid ambiguity.

Here is also an example:

http://www.schmiedewerkstatt.ch/wiki/index.php/PostgreSQL:_Update_rows_with_subquery

Regards
Charles

> -----Original Message-----
> From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of
> drum(dot)lucas(at)gmail(dot)com
> Sent: Donnerstag, 21. April 2016 07:10
> To: Postgres General <pgsql-general(at)postgresql(dot)org>
> Subject: [GENERAL] Update field to a column from another table
>
> I've got two tables:
>
> - ja_jobs
> - junk.ja_jobs_23856
>
> I need to update the null column ja_jobs.time_job with the data from the table junk.ja_jobs_23856
>
> So I'm doing:
>
>
> UPDATE public.ja_jobs AS b
> SET time_job = a.time_job
> FROM junk.ja_jobs_23856 AS a
> WHERE a.id <http://a.id> = b.id <http://b.id>
> AND a.clientid = b.clientid;
>
>
> But it's now working... I'm using PostgreSQL 9.2
>
> Do you guys have an idea why?
>
> cheers;
> Lucas

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message david 2016-04-21 05:59:27 Re: Is it possible to call Postgres directly?
Previous Message drum.lucas@gmail.com 2016-04-21 05:09:54 Update field to a column from another table