Hola ebalmaceda:
¿Qué pasaría cuando una misma imagen esté incluida en más de un contenido?, es decir, supongamos que tienes la siguiente información en tus tablas:
Código MySQL:
Ver original+-------------+-------------+
| idContenido | descripcion |
+-------------+-------------+
| 1 | Cont 1 |
| 2 | Cont 2 |
+-------------+-------------+
+----------+-------------+
| idImagen | descripcion |
+----------+-------------+
| 1 | Img 1 |
| 2 | Img 2 |
| 3 | Img 3 |
| 4 | Img 4 |
+----------+-------------+
+-------------+----------+
| idContenido | idImagen |
+-------------+----------+
| 1 | 4 |
| 1 | 1 |
| 1 | 3 |
| 1 | 2 |
| 2 | 4 |
+-------------+----------+
Supongamos que tu variable de ambiente tenga el valor del contenido 2, según la tabla de relaciones la imagen 4 debería ser la primera en la lista, esto podrías hacerlo asi:
Código MySQL:
Ver original -> LEFT JOIN contenido_x_imagenes cxi
ON i.idImagen
= cxi.idImagen
+----------+-------------+
| idImagen | descripcion |
+----------+-------------+
| 4 | Img 4 |
| 1 | Img 1 |
| 2 | Img 2 |
| 3 | Img 3 |
| 4 | Img 4 |
+----------+-------------+
Observa en primer lugar que en el ORDER BY utilizo una condición IF para poner en primer lugar (1) aquellas foros que cuyo contenido sea igual a 2. todas las demás no me interesan y las dejo en segundo lugar (2). Sin embargo la imagen 4 aparece DOS VECES, ya que está relacionada tanto al contenido 1 como al dos... Si no quieres que esto suceda debes agregar una condición para filtrar estos casos.
Saludos
Leo.