Re: Update question

From: "Fay Du" <fay(dot)du(at)versaterm(dot)com>
To: 'Gábriel Ákos' <akos(dot)gabriel(at)i-logic(dot)hu>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Update question
Date: 2006-03-28 18:33:02
Message-ID: 00c301c65296$0c21c6b0$b8d849c6@versaterm.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Markus and Gábriel:
Thank you very much for the help.
Yes, the table is redundant. What I am trying to do is using pgdijstra
module from postGIS which is on the top of postgreSQL. And the module
asks for entire network is directional or non-directional. But my
network part is directional and other part is non-directional. I made it
is directional by duplicate all non-directional edges into 2 directional
edges and it is where redundant come from. And the module only accept
data from one table, so I have to keep all data in one table.

Thanks again.
Fay

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org
[mailto:pgsql-sql-owner(at)postgresql(dot)org] On Behalf Of Gábriel Ákos
Sent: Tuesday, March 28, 2006 12:34 PM
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] Update question

Markus Schaber wrote:
> 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
>

This is ok, but this is redundant, i guess. you should put edge_id and
cost into another table and use join to retrieve cost for each id.
put a key on edge_id, most likely a primary (unique) key.

--
Üdvözlettel,
Gábriel Ákos
-=E-Mail :akos(dot)gabriel(at)i-logic(dot)hu|Web: http://www.i-logic.hu=-
-=Tel/fax:+3612367353 |Mobil:+36209278894 =-

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
message can get through to the mailing list cleanly

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message TJ O'Donnell 2006-03-28 21:55:01 Re: Bitfields always atomic? Other way to store attributes?
Previous Message Gábriel Ákos 2006-03-28 17:34:23 Re: Update question