Ver Mensaje Individual
  #9 (permalink)  
Antiguo 20/03/2012, 10:10
ferminako
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Problema ordenando por dos campos.

Entendido, se agradece la explicación :)
En este caso el sistema lo lleva un solo usuario y solo quiere que se se ordene por ese campo, es por eso que necesito la query segun familias_has_marcas.Orden, y segun articulos.orden.

Por lo tanto la consulta correcta deberia seR esta?¿
Código SQL:
Ver original
  1. `S_Articulos`(IN in_nombre_marca VARCHAR(45),
  2. IN in_regInicio INT, IN in_regxPagina INT)
  3. BEGIN
  4.    
  5.     SELECT idArticulos, Articulos.Nombre,Descripcion,Precio FROM articulos
  6.     INNER JOIN familias ON articulos.Familias_idFamilias= familias.idFamilias
  7.     INNER JOIN familias_has_marcas ON familias.idFamilias=familias_has_marcas.Familias_idFamilias
  8.     WHERE
  9.     familias_has_marcas.Marcas_idMarcas=(SELECT idMarcas FROM marcas WHERE Nombre=in_nombre_marca)    
  10.     ORDER BY familias_has_marcas.Orden, articulos.Orden
  11.      LIMIT in_regInicio, in_regxPagina;
  12. END

Pero sigue sin funcionarme, he metido un articulo de otra marca(id2) todos los demas son de la marca id=1 y tb me lo mete en el resultado... call S_Articulos(1,0,10) me los saca todos correctos con el orden que buscaba pero me incluye el articulo cuyo idMarca es =2 , algun join deberia ser lef t o right? tiene q ser algo asi no?

gracias gnzsoloyo por todas tus explicaciones y tomarte el tiempo en revisar mi trabajo ;)

Por cierto como apsarias pues los dos parametros del limit si no puedo utilizar variables???

Última edición por ferminako; 20/03/2012 a las 10:46