Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Referenciar a un alias en el mismo SELECT

Estas en el tema de Referenciar a un alias en el mismo SELECT en el foro de Mysql en Foros del Web. Pasé una base de datos de MS Access a MySQL. Tengo un query (Access) que hace referencia a un alias definido en el mismo SELECT, ...
  #1 (permalink)  
Antiguo 03/08/2006, 21:20
 
Fecha de Ingreso: mayo-2006
Mensajes: 6
Antigüedad: 17 años, 11 meses
Puntos: 0
Referenciar a un alias en el mismo SELECT

Pasé una base de datos de MS Access a MySQL. Tengo un query (Access) que hace referencia a un alias definido en el mismo SELECT, pero no me funciona en MySQL.

El query es algo así:

SELECT Cant / SUM(Cant) AS Porc , Total * Porc AS Parcial, .....

cuando ejecuto, me sale el error sig.

#1054 - Unknown column 'Porc' in 'field list'

Como puedo hacer esto en MySQL?

Gracias.
  #2 (permalink)  
Antiguo 03/08/2006, 22:19
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Sustitui el alias Porc por el Cant/SUM(Cant)

algo asi:
SELECT Cant / SUM(Cant) AS Porc , Total * Cant / SUM(Cant) AS Parcial, .....

Lo que te recomiendo es que no hagas esos calculos en als consultas, te conviene hacer los calculos en la logica del programa. Es ujna cuestion de diseño, el DBMS esta diseñado para ser un mecanismo de guardado y recuperacion de datos (entre otras funcionalidades) y no de calculos. Siempre un lenguaje de programacion es mas apto para realizar los calculos.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #3 (permalink)  
Antiguo 04/08/2006, 15:45
 
Fecha de Ingreso: mayo-2006
Mensajes: 6
Antigüedad: 17 años, 11 meses
Puntos: 0
Gracias TolaWare, tu recomendación el relación a los cálculos es correcta, sólo que como ya tenía el query en Access (que es mucho mas complejo que el ejemplo que coloqué) queria saber si había alguna forma en MySQL para hacer lo mismo y ahorrarme algo de tiempo.

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:33.