Autor Tema: Problemas con reutilizar resultado de una sub-consulta (select anadido).  (Leído 3725 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado vlad

  • Global Moderator
  • Trade Count: (10)
  • The Communiter-
  • *
  • Thank You
  • -Given: 53
  • -Receive: 104
  • Mensajes: 6366
    • Qualium.net
Usando MySQL 5.0.67

Pues resulta que tengo una consulta mas o menos de esta forma:
Select campo1, campo2, (Select campoX from tabla_A) AS 'campo3' FROM tabla_B

La cuestion es que funciona bien y todo, pero el problema es que me gustaria reutilizar el valor de campo3 en la misma consulta (digamos como para multiplicarlo por otro valor), la cosa es que si me refiero a ese alias "campo3" me da error y me dice que no existe.

Ej de lo que quisiera hacer:
Select campo1, campo2, (Select campoX from tabla_A) AS 'campo3', (campo3 * 4) AS 'campoY' FROM tabla_B

Pero me sale (siguiendo el ejemplo):
ERROR 1054 (42S22): Unknown column 'campo3' in 'field list'

Ojo que si lo hago asi:
Select campo1, campo2, (Select campoX from tabla_A) AS 'campo3', ((Select campoX from tabla_A) * 4) AS 'campoY' FROM tabla_B

Si me funciona, pero quisiera evitar hacer dos veces el mismo select...

Muchas gracia de antemano.

Desconectado vlad

  • Global Moderator
  • Trade Count: (10)
  • The Communiter-
  • *
  • Thank You
  • -Given: 53
  • -Receive: 104
  • Mensajes: 6366
    • Qualium.net
Re: Problemas con reutilizar resultado de una sub-consulta (select anadido).
« Respuesta #1 : enero 27, 2009, 03:19:58 pm »
Bueno, despues de un todo un dia de buscar la solución dí con este articulo:
http://www.xaprb.com/blog/2006/12/15/advanced-mysql-user-variable-techniques/

La solución fue hacer:
Select campo1, campo2, @campo := (Select campoX from tabla_A) AS 'campo3', (@campo * 4) AS 'campoY' FROM tabla_B