Re: Duda con subconsultas y serial

From: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
To: "Julio Cesar Rodriguez Dominguez" <jurasec(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Duda con subconsultas y serial
Date: 2008-12-24 05:55:14
Message-ID: 3073cc9b0812232155q5dd73febs4baf9e2fd33bc7e4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Dec 23, 2008 at 8:29 PM, Julio Cesar Rodriguez Dominguez >
>
> postgres(at)contable[localhost]=# begin; create sequence s; select * from
> (select nextval('s') as offset,idgrupo,grupo from (select idgrupo,grupo from
> cc_grupos order by grupo) x ) xx where idgrupo=5;rollback;
>

postgres esta empujando los select internos hacia afuera, convirtiendo esto:

select * from (select nextval('s') as offset,idgrupo,grupo
from (select idgrupo,grupo
from cc_grupos order by grupo) x ) xx
where idgrupo=5

en esto:

select nextval('s') as offset,idgrupo,grupo
from (select idgrupo,grupo from cc_grupos order by grupo) x
where idgrupo=5

si en cambio los escribes asi, hace lo que quieres:

select * from (select nextval('s') as offset,idgrupo,grupo
from (select idgrupo,grupo from cc_grupos
order by grupo) x
offset 0 ) xx
where idgrupo=5;

o mejor aun:

select * from (select nextval('s') as offset, idgrupo, grupo
from cc_grupos offset 0) as foo
where idgrupo = 5

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Maseguri5 2008-12-24 09:26:19 Error en servicio
Previous Message Julio Cesar Rodriguez Dominguez 2008-12-24 01:29:33 Duda con subconsultas y serial