Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/10/2010, 12:08
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: Con alias no funciona el ORDER BY

Básicamente es lo que está haciendo leonardo_josue:
Código:
SELECT *
FROM 
    (SELECT 
        emp.value empresa, 
        nom.value nombre, 
        SUM(precio.pvp_factura_det) pvp, 
        factura.id_fac, 
        factura.print_fac, 
        factura.num_fac, 
        factura.fecha_creacion_fac, 
        factura.estado_fac 
    FROM 
        conta_facturas factura 
        LEFT JOIN  conta_detalle_factura precio 
            ON precio.id_factura_det = factura.id_fac 
        LEFT JOIN profile_values emp 
            ON emp.fid=%s && emp.uid = factura.uid_fac 
        LEFT JOIN profile_values nom 
            ON nom.fid=%s && nom.uid = factura.uid_fac 
    WHERE factura.uid_fac>1 
    GROUP BY factura.id_fac ".$where.") T1
ORDER BY ".$orderBy
Cuando analizo el jemplo que has puesto me encuentro con algunos detalles a observar:
1) No debes usar palabras reservadas en las denominaciones de campos, tablas, bases, etc., porque traen problemas en la ejecución de las consultas. Puntualmente, no puedes denominar a un campo VALUE porque eso es una palabra reservada del SQL.
2) El signo "%" tiene uso dentro de las cadenas, pero no se debe usar a la ligera en una consulta porque es un operador de modulo de división, y en el contexto del uso que le das puede producir errores de sintaxis.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)