<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:'times new roman', 'new york', times, serif;font-size:12pt"><div><span class="Apple-style-span" style="font-family: times, serif; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><font class="Apple-style-span" face="times, serif"><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Hola gente!</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Envié este mensaje el viernes, pero recién veo que no aparece publicado en la lista, así que lo mando de nuevo. Me debo haber
equivocado al enviarlo, igual por las dudas pido disculpas si alguien lo recibe por duplicado!</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Entonces, ahí va:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Yo una vez resolví una situación parecida con una consulta que para tus tablas sería así:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">SELECT news.*, MIN(data.ruta) AS img </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">FROM news LEFT JOIN DATA ON news.id = data.id_news AND data.tipo = 'img' </div><div style="margin-top: 0px; margin-right: 0px;
margin-bottom: 0px; margin-left: 0px; ">GROUP BY news.id</div></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Pero para poder usarla es necesario tener en cuenta:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">- No se puede incluir el campo data.id en el select, ya que no necesariamente va a coincidir con el id del campo ruta obtenido (si quisieras obtener el id, no queda otra que usar una subconsulta). Por suerte yo no lo precisaba :)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">- En mi caso, el nombre de los archivos era el timestamp del momento en que fueron cargados en el sistema (por ejemplo <span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; ">1285979244.jpg</span>). De
esta forma con el paso del tiempo, siempre se va a obtener la misma imagen. En el caso de que los nombres de archivos fueran alfanuméricos, si por ejemplo hoy tenés casa.jpg y mañana para la misma publicación se agrega auto.jpg, entonces va a cambiar la foto mostrada.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Y la variante con subconsulta podría ser algo así, mostrando la foto con el menor id:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">SELECT news.id, news.tit, data.id, data.ruta</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;
">FROM news </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">LEFT JOIN DATA</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">ON data.id_news = news.id</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">AND data.id = (SELECT MIN(id) FROM DATA WHERE id_news = news.id AND data.tipo = 'img') </div></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">ORDER BY news.fecha DESC, news.id DESC</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Espero que alguna te sirva. Saludos!</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Cristian.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom:
0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">PD: me parece un poco exagerado usar un campo TEXT para guardar el nombre del archivo ;)</div></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><font size="2" face="Tahoma"></font></div></div></span></font></font></div></span></div><div style="position:fixed"></div>
</div><br>
</body></html>