Re: How to do?

From: Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: How to do?
Date: 2003-08-01 23:55:05
Message-ID: 1059782105.22381.83.camel@haggis
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, 2003-08-01 at 11:44, Robert Partyka wrote:
> Ron Johnson wrote:
> > No, but slightly ambiguous, at least for my old brain.
> I will try to by more unequivocal this time :)
>
> Shridhar Daithankar wrote:
> > select oid,name from a;
> I know it, but i have to have not oid's but row numbers :) such like :
> table "test"
> offset | value
> -----------+------------
> 1 | AC43
> 2 | AC4X
> 3 | AX43
> 4 | ACX3
> ....
> n | XC4A
>
> the best will be without using sequence :)

But relational algebra and SQL don't have the concept of row numbers.
"row numbers" like OIDs are internal constructs that are exposed to
the users, but shouldn't be used.

> Shridhar Daithankar wrote:
> > I didn't get that.. could you please elaborate?
>
> Franco Bruno Borghesi wrote:
> > And about the rows before and after that you ask, I don't understand...
> based on what you mean
> > *before* and *after*? you don't have an order by clause.
>
> > And what do you mean with "I know that in result is record with e.g.
> uid='AC13A1'"?
> > You know this uid *before* sending the query? is it part of your <where
> statement>? can you use
> > this value as a hard coded condition for a subquery?
>
> Ok, so its goes something like that:
>
> lets say i have select query: select a,b,uid from foo where c='bar' order by a;
>
> with results like that:
> a | b | uid
> ----+----+------
> 2 |x | AC01
> 2 |w | AC43
> 4 |d | AC88
> 4 |a | AC13
> ...
> 7 |c | AC22
>
>
> and lets say I selected this before and I know that there is uid='AC88';
>
> and in another connection (in lets say next requested www php script )
> without selecting all
> this data or even full list of only uid`s and making sequence scan row by
> row I wont to get
> something like that from select I have write above:
>
> a | b | uid
> ----+----+------
> 2 |w | AC43
> 4 |d | AC88
> 4 |a | AC13
> (3 rows)
>
> if there is row before and row next of uid='AC88' or
>
> a | b | uid
> ----+----+------
> 2 |w | AC43
> 4 |d | AC88
> (2 rows)
> if uid='AC88' is last one row
>
> or
>
> a | b | uid
> ----+----+------
> 4 |d | AC88
> 4 |a | AC13
> (2 rows)
> if uid='AC88' is first row
>
> I hope its more understandable than before :)
>
> regards
> Robert 'BoBsoN' Partyka
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
--
+-----------------------------------------------------------------+
| Ron Johnson, Jr. Home: ron(dot)l(dot)johnson(at)cox(dot)net |
| Jefferson, LA USA |
| |
| "I'm not a vegetarian because I love animals, I'm a vegetarian |
| because I hate vegetables!" |
| unknown |
+-----------------------------------------------------------------+

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Johnson 2003-08-01 23:56:33 Re: Domains (Was [PERFORM] Views With Unions)
Previous Message b b 2003-08-01 23:25:05 last inserted raw (identity)