Re: How to do? - Mailing list pgsql-general

From Robert Partyka
Subject Re: How to do?
Date
Msg-id 5.1.0.14.0.20030801182222.00a0bec0@mail.alpha.pl
Whole thread Raw
In response to How to do?  (Robert Partyka <R.Partyka@wdg.pl>)
Responses Re: How to do?  (Ron Johnson <ron.l.johnson@cox.net>)
Re: How to do?  (Ron Johnson <ron.l.johnson@cox.net>)
List pgsql-general
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 :)

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


pgsql-general by date:

Previous
From: Mat
Date:
Subject: Apache - DBI - Postgresql: Cancelling queries
Next
From: Francisco J Reyes
Date:
Subject: Domains (Was [PERFORM] Views With Unions)