Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/03/2013, 07:02
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: Ordenar alfabeticamente entre 2 tablas

Limpiando un poquito, tu consulta es:
Código MySQL:
Ver original
  1.     S.id suc_id,
  2.     S.direccion suc_direccion,
  3.     S.telefono suc_telefono,
  4.     S.pais suc_pais,
  5.     S.provincia suc_provincia,
  6.     S.localidad suc_ciudad
  7. FROM sucursales S INNER JOIN locaciones L ON S.provincia = L.id
  8.     id_empresa = '11'
  9. ORDER BY suc_pais, suc_provincia, suc_ciudad
Pues simplemente es cambiar la única referencia a la tabla Locaciones, invocandolá una vez por cada campo, con sus respectivos alias:
Código MySQL:
Ver original
  1.     S.id suc_id,
  2.     S.direccion suc_direccion,
  3.     S.telefono suc_telefono,
  4.     P.nombre suc_pais,
  5.     PR.nombre suc_provincia,
  6.     L.nombre suc_ciudad
  7. FROM sucursales S
  8.     INNER JOIN locaciones P ON S.pais = P.id
  9.     INNER JOIN locaciones PR ON S.provincia = PR.id
  10.     INNER JOIN locaciones L ON S.localidad = L.id
  11.     id_empresa = '11'
  12. ORDER BY suc_pais, suc_provincia, suc_ciudad
De todos modos, hay un error básico de diseño y de conceptualización: No se debe usar una única tabla para almacenar País, Provincia y Ciudad. Son tres tablas diferentes, porque representan entidades relacionadas diferentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 21/03/2013 a las 07:25 Razón: Error sintactico de query