Using UPDATE FROM

From: Collin Peters <cpeters(at)mcrt(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Subject: Using UPDATE FROM
Date: 2004-09-09 19:54:05
Message-ID: xx20d.117588$A8.5766@edtnps89
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Theo Galanakis 2004-09-10 00:20:44 Re: Isnumeric function?
Previous Message Josh Berkus 2004-09-09 18:46:14 Re: Isnumeric function?