Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2011, 08:12
Tebb
 
Fecha de Ingreso: agosto-2003
Mensajes: 72
Antigüedad: 20 años, 8 meses
Puntos: 1
Ordenar el GROUP BY (3 tablas)

Veamos, tengo:

Código SQL:
Ver original
  1. SELECT productes.id, productes_idm.nom, l2_galeria.imatge FROM productes
  2. INNER JOIN productes_idm ON productes.id = productes_idm.idp
  3. INNER JOIN l2_galeria ON productes.id = l2_galeria.id_galeria
  4. WHERE productes_idm.idm="esp"
  5. GROUP BY l2_galeria.id_galeria

Por un lado tengo:

Tabla productes
id | estado | demás campos...

1 | 1 | ...
2 | 1 | ...
3 | 0 | ...
4 | 1 | ...
5 | 0 | ...

Tabla productos_idm
idp | idm | nom

1 | esp | hola que tal
1 | cat | hola que tal
2 | esp | hola que tal 2
2 | cat | hola que tal 2
3 | esp | hola que tal 3
3 | cat | hola que tal 3
etc...


Tabla l2_galeria
id | id_galeria | imatge | orden

1 | 1 | imagen1.jpg | 10
2 | 1 | imagen2.jpg | 5
3 | 1 | imagen3.jpg | 4

4 | 2 | imagen4.jpg | 3
5 | 2 | imagen5.jpg | 1

6 | 3 | imagen6.jpg | 7
7 | 3 | imagen7.jpg | 2
8 | 3 | imagen8.jpg | 5

9 | 4 | imagen9.jpg | 3
10 | 4 | imagen10.jpg | 6

11 | 5 | imagen11.jpg | 5
12 | 5 | imagen12.jpg | 3


El Group By lo pongo porque al hacer el INNER JOIN me devuelve varias imagenes de la tabla l2_galeria, pero yo sólo necesito que me devuelva una.

Poniendo el group by lo consigo, pero me devuelve un resultado aleatorio. Lo que no consigo hacer es que me devuelva la imagen que tenga el "orden" más bajo en todos los casos.

He probado con queries en los INNER JOINS, pero no se me da demasiado bien esto del SQL...

A ver si me podéis hechar una mano, porque me voy a volver loco...