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-13 06:28:03 |
Message-ID: | c2d9e70e0705122328t739abdd9l1d7acaa6aa349c76@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Supongo que las negritas fueron obra de html, evita eso. No todos usan
clientes de correo que soporten html y no haran el esfuerzo de
entender el texto simplemente se saltaran tu correo...
On 5/12/07, Orlando Ramirez <orlan2_r(at)yahoo(dot)com> wrote:
> Estoy migrando una base de datos de Sybase a Postgres y en muchos de los
> SELECT de sus procedientos almacenados se usa la declaracion AS.
>
> Agradezco a Jaime Casanova por diligente su comentario, aunque no alcanzo a
> comprender la solución que propone,
Alvaro comentaba que no puedes usar el nombre que le asignaste a la
columna con el AS porque va en contra de las reglas del estandar SQL
(lo que implica que sybase esta actuando mal)... o al menos eso
entendi yo... la verdad, estuve rebuscando en el estandar porque
pienso que Alvaro tiene razon pero no encuentro la parte relevante...
ademas de que el distinct que estas usando parece una funcion que
aparentemente solo afecta a la primera columna (otra vez fuera del
estandar, imagino que es similar al distinct on de postgres)
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...
> y a Alvaro Herrera por el suyo en donde lo mas saltante es su ironica frase: Que modelo tan horrible. Lo que no
> comprende Alvaro es que existen estructuras de datos en donde el usuario lo
> tiene definido de esa manera y se vienen usando asi por siglos. En este caso
> concreto, esta es una tabla que contiene un plan de cuentas contable.
>
que se haya usado por siglos no lo hace un modelo *bonito*, de hecho
yo concuerdo con alvaro... el simple hecho de que el modelo te permita
crear una cuenta detalle sin su respectivo padre (la cuenta de 8
digitos parece ser el padre de las de mas digitos) muestra lo pobre
del modelo... e imagino que añadieron ahi el saldo para optimizar
consultas, aun asi necesitas esa consulta con varias subconsultas que
no me parece muy optimo que digamos... y no digamos del trabajo de
actualizar esa tabla en cada movimiento contable (el saldo de la
cuenta detalle y la de sus padres =()
lo siento, pero que la gente haya pensado durante siglos que el sol
giraba alrededor de la tierra no lo hizo verdad... del mismo modo que
ese modelo se haya usado (tambien he visto esas cosas en mi pais) no
lo hace un buen modelo... solo un error muy replicado...
--
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
From | Date | Subject | |
---|---|---|---|
Next Message | Rodolfo Villanueva | 2007-05-13 08:18:38 | Debian Sevilla |
Previous Message | Alvaro Herrera | 2007-05-13 01:51:47 | Re: Como utiliza el espacio en disco postgresql? |