Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/07/2013, 07:55
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: ordenar grup by minimo join on tablas

Hola aldo_rengo:

Este tipo de consultas es muy común en el foro... de hecho es una de las consultas más comunes, me sorprende que no hayas encontrado ningún otro post que te ayudara a resolver la consulta por tu cuenta. Hay muchas maneras para resolver este tipo de consultas, la más común es utilizando una subconsulta que te obtenga el valor mínimo que te interesa y filtrar la consulta que colocaste al inicio... es decir, si tú haces algo como esto:

Código MySQL:
Ver original
  1. SELECT id_item, MIN(orden) min_orden
  2. FROM tabla2
  3. GROUP BY id_item

Obtienes la foto con el mínimo orden... ojo, el que tengas valores NULL en el campo efectivamente puede afectar el resultado... ya que no se considera un número. puedes colocar una condición IFNULL su es que necesitas considerar también estos registros. Si no es necesario considerar estos valores entonces puedes hacer algo como esto:

Código MySQL:
Ver original
  1. SELECT  m.*, g.photo photo_g, g.id_item id_item_g, g.orden order_gallery
  2. FROM tabla1 m
  3. INNER JOIN tabla2 g ON m.id = g.id_item
  4. (  SELECT id_item, MIN(orden) min_orden
  5.    FROM tabla2
  6.    GROUP BY id_item ) T ON g.id = T.id_item AND g.orden = T.min_orden

Haz la prueba nos comentas.

Saludos
Leo.