Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/06/2008, 08:36
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: incluir un valor AS dentro de WHERE

Un Tip:
Como regla general de todos los motores de bases de datos, las condiciones de selección (WHERE) deben SIEMPRE referirse a los campos reales de la tabla, por lo que no aceptan alias.
Esto es válido para todos los motores, incluyendo ORACLE 11g, SQL Server 2008, DB2, o MySQL 6.0. No conozco ninguno que tenga alguna excepción a esta regla.
Ignoro la razón con exactitud, pero supongo, por el modo en que "razonan" los SGBD, que debe haber demasiadas complicaciones en la implementación de un algoritmo de condiciones de selección que barra, además de los campos, los alias.
Por lo demás, puedes pensar que algo así en realidad, no reporta utilidad alguna a la eficiencia del SGBD.

Existe dos modos de saltear esta restricción: 1) Cuando se ponen los alias en una vista y la selección hace referencia a la vista. 2) Cuando se trabaja con tablas derivadas (subconsultas), en ese caso hay que tener muy en cuenta los alias usados en la construcción del subquery.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)