Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2012, 11:53
ferminako
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
Puntos: 1
No consigo obtener ni ordenar los resultados esperados como quiero

Buenas tengo estas tablas:




[/HIGHLIGHT]

Tabla articulos:
http://img59.imageshack.us/img59/8434/articulosg.png
Tabla familias:
http://img840.imageshack.us/img840/6108/familias.png
Tabla familias_has_marcas:
http://img607.imageshack.us/img607/5...shasmarcas.png


Y este sp:
Código SQL:
Ver original
  1. DELIMITER $$
  2.  
  3. CREATE DEFINER=`root`@`localhost` PROCEDURE `S_Articulos`(IN in_idMarca INT,
  4. IN in_regInicio INT, IN in_regxPagina INT)
  5. BEGIN
  6.    
  7.     SELECT idArticulos, Articulos.Nombre,Descripcion,Precio,Foto FROM articulos
  8.     INNER JOIN marcas ON articulos.marcas_idMarcas= marcas.idMarcas
  9.     INNER JOIN familias_has_marcas ON marcas.idMarcas=familias_has_marcas.MArcas_idMarcas
  10.    
  11.     WHERE
  12.     marcas.idMarcas=in_idMarca
  13.     ORDER BY familias_has_marcas.Orden, articulos.Orden
  14.      LIMIT in_regInicio, in_regxPagina;
  15. END

EL tema es que al llamar al sp Call S_articulos(3,0,9)
deberia obtener un listado ordenado primero por el campo orden de la tabla familias_has_marcas y despues por el campo orden de articulos quedando algo como :

Camisa1
Camisa2
Camisa3
Pantaloneta1
Pantaloneta2
Pantaloneta3
Zapatillas1
Zapatillas2
Zapatillas3

Puesto que el orden1 dentro e familias_has_marcas es del idfamilia1 saldria primero las Camisas que es la familia con id1, y segun el campo orden de la tabla articulos, en este caso la Camisa1 tiene orden1 la Camisa2 el orden2 y la camisa 3 el 3.
Pero obtengo la siguiente ordenacion:

CAmisa1
Pantalon1
Zapatilla1
CAmisa2
pantalon2
zapatillas2
Camisa3
Pantalon3
zapatillas3

Solucion?

Última edición por ferminako; 21/03/2012 a las 12:12