Search Postgresql Archives

Re: Update field to a column from another table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please don't top-post.


> -----Original Message-----
> From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of
> drum.lucas@xxxxxxxxx
> Sent: Donnerstag, 21. April 2016 07:10
> To: Postgres General <pgsql-general@xxxxxxxxxxxxxx>
> Subject: 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  =
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?
>

​Define "not working".

The query itself looks fine.

The likely cause is there are no records that share both an "id" and a "clientid" value.
 
On Wed, Apr 20, 2016 at 10:53 PM, Charles Clavadetscher <clavadetscher@xxxxxxxxxxxx> wrote:
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.

This shouldn't make any different.  The original query prefixed column names with their source table so no ambiguity was present.

​David J.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux