pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Markus Schaber <schabi@logix-tt.com>
To: Fay Du <fay.du@versaterm.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Update question
Date: Tue, 28 Mar 2006 18:51:55 +0200
Message-ID: <442969AB.2020604@logix-tt.com> (raw)
In-Reply-To: <00b801c65286$7ca8f260$b8d849c6@versaterm.com>
References: <00b801c65286$7ca8f260$b8d849c6@versaterm.com>

Hi, Fay,

Fay Du wrote:
> Table cost
> 
> Id  edge_id    cost
> 1       30         101.4
> 2       30          null
> 3       40          500.2
> 4       40           null
> 5        45          300.7
> 6        45           null

> I want to set cost value with same edge_id by same value. The existing
> values are calculated by calling a function (calculate edge length). I
> can calculate the value by same function, but the function was slow. I
> wander if I can use update statement to set the second value with same
> edge_id. Thanks in advance for your help.

It should go like:

UPDATE cost SET edge_id = (SELECT cost FROM cost innr WHERE innr.edge_id
= edge_id AND innr.cost is not null) WHERE cost is null;

HTH,
Marku

-- 
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org



view thread (11+ messages)  latest in thread

Message-ID: <442969AB.2020604@logix-tt.com>
Permalink:  ../442969AB.2020604@logix-tt.com/
Also on:    postgresql.org/message-id/442969AB.2020604@logix-tt.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: schabi@logix-tt.com, fay.du@versaterm.com
  Subject: Re: Update question
  In-Reply-To: <442969AB.2020604@logix-tt.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox