I need some magical advice - Mailing list pgsql-sql

From Andreas
Subject I need some magical advice
Date
Msg-id 49819987.4030006@gmx.net
Whole thread Raw
Responses Re: I need some magical advice  ("M.P.Dankoor" <m.p.dankoor@gmail.com>)
Re: I need some magical advice  (Terry Fielder <terry@ashtonwoodshomes.com>)
List pgsql-sql
Hi,

I'd like to update some records in a table.
Those have a status_id and among other columns a varchar with a name and 
a create_date.
The status_id is 0 if nothing was done with this record, yet.

For some reasons I've got double entries which I now want to flag to -1 
so that they can be sorted out without actually deleting them since 
there are other tables referencing them.
From every group that shares the same name all should get  status_id  
set to -1 where status_id = 0.

The tricky bit is:
How could I provide, that 1 of every group survives, even then when all 
have status_id = 0?
Sometimes 2 of a group are touched so both have to stay.


e.g.
c_date, status_id, name
2008/01/01,   0,   A     --> -1
2008/01/02,   1,   A     --> do nothing
2008/01/03,   0,   A     --> -1

2008/01/01,   0,   B     --> do nothing (single entry)

2008/01/01,   0,   C     --> do nothing (oldest 0 survives)
2008/01/02,   0,   C     --> -1

2008/01/01,   1,   D     --> do nothing
2008/01/02,   1,   D     --> do nothing




pgsql-sql by date:

Previous
From: Frank Bax
Date:
Subject: Re: plpgsql setof help
Next
From: "Oliveiros Cristina"
Date:
Subject: Re: I need some magical advice