Re: Como convertir los SELECT que usan AS en otros manejadores a Postrgres

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Orlando Ramirez" <orlan2_r(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Como convertir los SELECT que usan AS en otros manejadores a Postrgres
Date: 2007-05-17 04:11:51
Message-ID: c2d9e70e0705162111p76c5024fsea1d765362ed8753@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 5/13/07, Jaime Casanova <systemguards(at)gmail(dot)com> wrote:
> mi solucion fue poner en el FROM un subquery que obtenga el substring
> y le de el nombre que quieres, el group by es para evitar que se
> repitan los valores. tambien encontre que es mas eficiente hacer un
> join con la misma tabla para obtener la descripcion en vez de con un
> subquery...
>
> viendo el query real que intentas re-escribir veo que el problema es
> mas complejo de lo que habias dicho y por lo tanto segun veo debes
> añadir un subquery mas para el sum... mmm...
>

cuatro dias despues... por fin mi cerebro decidio trabajar y se me
ocurrio la forma de escribir esa consulta (tan obvio ahora, que no se
como no lo vi antes =)

SELECT codigo, (select des_cta from CUENTAS where cod_cta=codigo),
sum(mto_sld)
FROM (select substring(cod_cta from 1 for 8) as codigo, mto_sld
from CUENTAS WHERE length(cod_cta) > 8) as foo
GROUP BY 1, 2;

que es lo mismo que

SELECT substring(cod_cta from 1 for 8) as codigo,
(select des_cta from CUENTAS as foo
where cod_cta=substring(CUENTAS.cod_cta from 1 for 8)),
sum(mto_sld)
FROM CUENTAS
WHERE length(cod_cta) > 8
GROUP BY 1, 2;

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2007-05-17 11:06:47 Re: Conectar postgresql con sqlserver o "copiar" modelo de sqls
Previous Message usuario anonimo 2007-05-17 02:52:12 Re: problema con like