Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/03/2011, 16:31
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: 16 años, 5 meses
Puntos: 2658
Respuesta: Alias multiple

Hay varios problemas:
1) Estás usando palabras reservadas como nombres de columnas (type, por ejemplo) y eso puede dar lugar a resultados erráticos.
2) Estás poniendolé a dos columnas el mismo alias, lo que debería darte error, pero aún si lo puedes usar, estás tratando que te ordene por un alias... que corresponde a dos columnas distintas. Eso no es razonable.
3) Estás usando subconsultas para columnas de un SELECT, lo que resulta sumamente ineficiente, ya que se ejecutan una vez por cada valor devuelto en la consulta principal, y además una vez por cada columna...

Ese tipo de consulta se resuelve de otro modo, por ejemplo:
Código MySQL:
Ver original
  1.   id,
  2.   IF(T1.r = 'tom', T1.c '') as_1,
  3.   if(T2.r='jerry', T2.c, '') as_2
  4.   ids I
  5.   INNER JOIN tabla1 T1 ON T1.w = I.id
  6.   INNER JOIN tabla2 T2 ON T2.w = I.id
  7.   `type` IN ('tom','jerry')
  8. ORDER BY as_1, as_2;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)