Using UPDATE FROM - Mailing list pgsql-sql

From Collin Peters
Subject Using UPDATE FROM
Date
Msg-id xx20d.117588$A8.5766@edtnps89
Whole thread Raw
Responses Re: Using UPDATE FROM  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
I have a sql query which hits 5 database tables.  I'll cut a bit out of 
the results and just show the important values

reps_goal    reps_actual    repsvalue
10        10        1
33        5        1
10        12        1
10        12        1
10        10        1
11        11        1

What I'm trying to do is a single UPDATE statement which will take the 
values from the reps_actual column, and put them into the repsvalue 
column.  These two columns come from different tables or obviously you 
could to a simple regular UPDATE.

Here is the UPDATE statement:

UPDATE programactivitysets SET repsvalue = reps_actual
FROM workouts w, workoutactivities wa, workoutactivitysets was, 
programactivities pa, programactivitysets pas
WHERE wa.workout_id = w.workout_id
AND was.workoutactivity_id = wa.workoutactivity_id
AND pa.programactivity_id = wa.programactivity_id
AND pas.programactivity_id = pa.programactivity_id
AND pas.set = was.set
AND w.workout_id = 6036;

After I run that and do a select, these are the results:

reps_goal    reps_actual    repsvalue
10        10        5
33        5        5
10        12        5
10        12        5
10        10        5
11        11        5

For some reason, repsvalue is assigned 5 which is the reps_actual value 
for the 2nd row.  This isn't right.  Am I doing something incorrectly or 
can postgres not handle this kind of UPDATE?

Regards,
Collin Peters


pgsql-sql by date:

Previous
From: the inquirer
Date:
Subject: PL/pgSQL Function Problem
Next
From: andrew@pillette.com
Date:
Subject: CREATE RULE ignored, what did I do wrong