Este código me da error:
Código MySQL:
Ver original
En la segunda parte (luego de la coma), quiero hacer referencia a la primera parte. ¿Es posible?
Muchas gracias.
| |||
SELECT de un AS en la misma consulta Hola, compañeros: Este código me da error:
Código MySQL:
Ver original En la segunda parte (luego de la coma), quiero hacer referencia a la primera parte. ¿Es posible? Muchas gracias. Última edición por gnzsoloyo; 26/03/2015 a las 09:00 |
| ||||
Respuesta: SELECT de un AS en la misma consulta Imposible. Los alias de creados en un SELECT no existen desde el puto de vista físico, por lo que no pueden usarse ni en la misma linea del SELECT, ni en el WHERE. Es una restricción global de los DBMS. No privativa de uno solo. Lo que deseas hacer es posible sólo usando variables de usuario, pero requieren cierto tipo de manejo muy especial:
Código MySQL:
Aclaremos que "@suma" es una variable que se crea en el primer bloque del SELECT, y que persiste mientras la conexión esté activa. NO ES un campo ni un alias, y no se relaciona con "suma" y "suma2", que son los encabezados de las columnas de salida. Ver original
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: SELECT de un AS en la misma consulta Hola metalfox6383: Lo que quieres hacer es imposible, ya que los campos calculados SÓLO EXISTEN UNA VEZ QUE SE EJECUTA LA CONSULTA, es decir, el campo con el ALIAS SUMA no existe hasta después de que se ejecuta la consulta, pero la SUMA2, trata de usar este campo al mismo tiempo que se está generando, por eso es que marca que la columna SUMA es desconocida:
Código MySQL:
Ver original Una posible manera para hacer lo que quieres es hacer primero la primer suma y después, con una subconsulta, realizar la segunda suma, es decir, algo como esto:
Código MySQL:
Ver original La palabra reservada AS ya no forma parte del estándar y por lo tanto es completamente obsoleta. No entiendo muy bien para qué te puede servir una suma como la que haces, tal vez si nos explicas un poco mejor el contexto de lo que quieres hacer, te podamos indicar alguna otra alternativa. EDITADO: como siempre gnzsoloyo un paso adelante... Saludos Saludos Leo. |
| |||
Respuesta: SELECT de un AS en la misma consulta Hola, compañeros. Muchas gracias. Han sido muy claras sus explicaciones. En realidad estoy haciendo una consulta mucho más compleja y la resumí en esta consulta más simple para despejar la duda de lo único que necesitaba. Mi consulta original integraba un subquery que se representaba con un alias, pero ese mismo alias no puedo referenciarlo para otro subquery. Para salir del problema hice dos sentencias diferentes, así como ustedes sugieren, pero quería saber si era posible realizarlo en una. No obstante, Leonardo logra realizarlo en una sóla sentencia. Eso me sirve también, no lo había notado antes. Caballeros, muchas gracias una vez más. Son unos buenos maestros. Saludos. |
| |||
Respuesta: SELECT de un AS en la misma consulta "gnzsoloyo"... Muchas gracias por tu primero ejemplo. En este momento me está siendo muy útil en unas consultas algo más enredadas. Saludos. |
Etiquetas: |