RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] PGSQL según condicion

From: Pelluco Pelluco <pelluco_(at)hotmail(dot)com>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] PGSQL según condicion
Date: 2014-04-01 14:43:02
Message-ID: COL126-W13CAB8E919B055572389BAFC620@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Muchas gracias por la ayuda, me orienta bastante pero aun me da error y no se porque a lo mejor es la versión del postgres la cual 8.1.18, le esvio la qry y el escenario real:
tabla1.campo1 | tabla1.campo2 | tabla2.campo1uno | xxxx | 1uno | xyy | 2dos | ffffff | 2tres | yyyy | 4tres | ddd | 2uno | xxxx | 1uno | xxyy | 2dos | ffffff | 2tres | yyyy | 4tres | ddd | 2uno | xffyy | 2uno | rr | 3uno | rrr | 5

select distinc tabla1.campo1, tabla1.campo2, tabla2.campo1from tabla1 as a, tabla2 as b where tabla2.campo1 =(select min(tabla2.campo1) from tabla1 as c,tabla2 as dwhere a.data1 = c.data1);
se ve el error?
gracias.

> From: jaime(at)2ndquadrant(dot)com
> Date: Tue, 1 Apr 2014 08:25:56 -0500
> Subject: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] PGSQL según condicion
> To: mariolos(at)gmail(dot)com
> CC: pgsql-es-ayuda(at)postgresql(dot)org
>
> 2014-04-01 7:34 GMT-05:00 Pelluco Pelluco <pelluco_(at)hotmail(dot)com>:
> > Hola! disculpen el atrevimiento pero recurro a ustedes para una pequeña
> > consulta, obviamente sobre SQL
> > Miren si tengo una seria de registro como estos
> >
> > data1 | data2|data3
> > uno xxxx 1
> > uno xxyy 2
> > dos ffffff 2
> > tres yyyy 4
> > tres ddd 2
> >
> > como puedo hacer una sql (yo trabajo en postgres) que me permita sacar un
> > listado como este:
> > data1 | data2|data3
> > uno | xxxx | 1
> > dos | ffffff | 2
> > tres | ddd | 2
> >
> > osea que priorice por el menor, en este caso, data3.
> >
>
> Cualquiera de estas dos formas te sirve, si estas usando postgres 8.4
> o superior creo que la segunda es mas óptima pero podría estar
> equivocado:
>
> postgres=# select data1, data2, data3 from tt_test a where data3 =
> (select min(data3) from tt_test b where a.data1 = b.data1);
> data1 | data2 | data3
> -------+--------+-------
> uno | xxxx | 1
> dos | ffffff | 2
> tres | ddd | 2
> (3 filas)
>
> postgres=# with datos as (select data1, data2, data3, row_number()
> over (partition by data1 order by data3) orden from tt_test)
> select data1, data2, data3 from datos where orden = 1;
> data1 | data2 | data3
> -------+--------+-------
> dos | ffffff | 2
> tres | ddd | 2
> uno | xxxx | 1
> (3 filas)
>
>
> --
> Jaime Casanova www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
> Phone: +593 4 5107566 Cell: +593 987171157
>
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Pelluco Pelluco 2014-04-01 14:55:18 RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] PGSQL según condicion
Previous Message Jaime Casanova 2014-04-01 13:25:56 Re: [pgsql-es-ayuda] PGSQL según condicion