Hola, Carolina.<div><br></div><div>Cuando hacés un GROUP BY el criterio de seleccion de los campos es, en general, el primero que encuentra con el índice que está usando para unir las tablas. En la práctica, te trae los campos que se le ocurren (hablamos de los campos con join, por supuesto). La forma más eficiente es asignarle un campo &quot;principal&quot; (booleano) a una imagen en particular (que puede ser elegida manualmente o que sea la primera que se inserta) y después, en el join, especificarle que busque esa imagen, es decir:</div>
<div><br></div><div>LEFT JOIN data</div><div>   ON <a href="http://news.id">news.id</a>=data.id_news</div><div>   AND data.tipo=&#39;img&#39;</div><div>   AND data.principal=1</div><div><br></div><div><br></div><div>De esa forma te va a traer la imagen que vos quieras.</div>
<div><br></div><div>Saludos!<br><br><div class="gmail_quote">El 1 de octubre de 2010 08:38, Silverzero <span dir="ltr">&lt;<a href="mailto:silverzero.52@gmail.com">silverzero.52@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Si, pero en ese caso me lista una noticia sola, no?.<br> Yo quiero un listado completo de noticias por página, en donde cada noticia se muestra con ninguna (si no tuviese) o sólo una imagen, para que luego se pueda seleccionar una y ver todo el contenido completo.<div>
<div></div><div class="h5"><br>
<br><div class="gmail_quote">2010/10/1 Leonardo Tadei - Pegasus Tech Supply <span dir="ltr">&lt;<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

Hola Carolina,<br>
<br>
        si solo querías la primer imagen, tu 1er query estaba bien, solo que al<br>
final tenías que agregarle un LIMIT 0,1<br>
<br>
        El LIMIT es a toda la query...<br>
<br>
El vie, 01-10-2010 a las 07:30 -0300, Silverzero escribió:<br>
<div><div></div><div>&gt; No, solo una. Porque es para el listado de todas las noticias, y<br>
&gt; queria que se mostrara cada una con una imagen de todas las que<br>
&gt; tuviera asociadas (hubiera sido ideal la de menor ID).<br>
&gt;<br>
&gt; 2010/10/1 Leonardo Tadei - Pegasus Tech Supply<br>
&gt; &lt;<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>&gt;<br>
&gt;         Pero esa query no te devuelve todas las imágenes... no te<br>
&gt;         hacían falta<br>
&gt;         todas???<br>
&gt;<br>
&gt;         El vie, 01-10-2010 a las 00:24 -0300, Silverzero escribió:<br>
&gt;<br>
&gt;         &gt; Hola Leo,<br>
&gt;         &gt;<br>
&gt;         &gt; Gracias por la respuesta.<br>
&gt;         &gt; Lo arreglé así:<br>
&gt;         &gt;<br>
&gt;         &gt;     $qry=&quot;SELECT<br>
&gt;         &gt;             <a href="http://news.id" target="_blank">news.id</a>,<br>
&gt;         &gt;             tit,<br>
&gt;         &gt;             cop,<br>
&gt;         &gt;             des,<br>
&gt;         &gt;             fecha,<br>
&gt;         &gt;             ruta as img<br>
&gt;         &gt;         FROM<br>
&gt;         &gt;             news<br>
&gt;         &gt;         LEFT JOIN<br>
&gt;         &gt;             data<br>
&gt;         &gt;         ON<br>
&gt;         &gt;             <a href="http://news.id" target="_blank">news.id</a> = id_news AND tipo = &#39;img&#39;<br>
&gt;         &gt;         GROUP BY<br>
&gt;         &gt;             <a href="http://news.id" target="_blank">news.id</a><br>
&gt;         &gt;         ORDER by<br>
&gt;         &gt;             fecha DESC,<br>
&gt;         &gt;             id DESC&quot;;<br>
&gt;         &gt;<br>
&gt;         &gt; Lo único es que me elige una imagen a criterio desconocido,<br>
&gt;         pero me da<br>
&gt;         &gt; la impresión que es una con el id intermedio porque nunca es<br>
&gt;         la mayor<br>
&gt;         &gt; ni la menor.<br>
&gt;         &gt;<br>
&gt;         &gt; 2010/9/30 Leonardo Tadei - Pegasus Tech Supply<br>
&gt;         &gt; &lt;<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>&gt;<br>
&gt;         &gt;         Hola Carolina,<br>
&gt;         &gt;<br>
&gt;         &gt;         El jue, 30-09-2010 a las 21:07 -0300, Silverzero<br>
&gt;         escribió:<br>
&gt;         &gt;         &gt; Hola tengo un problema con una consulta a dos<br>
&gt;         tablas (que<br>
&gt;         &gt;         seguro es<br>
&gt;         &gt;         &gt; una pavada y yo no la veo), en una tengo noticias<br>
&gt;         y en otra<br>
&gt;         &gt;         guardo<br>
&gt;         &gt;         &gt; archivos, videos e imagenes de cada noticia, que<br>
&gt;         pueden ser,<br>
&gt;         &gt;         ninguna o<br>
&gt;         &gt;         &gt; más de una.<br>
&gt;         &gt;         &gt; Cuando listo las noticias quiero que se vea UNA de<br>
&gt;         las fotos<br>
&gt;         &gt;         (la de ID<br>
&gt;         &gt;         &gt; menor), titulo, fecha, copete/desarrollo. Pero<br>
&gt;         cuando una<br>
&gt;         &gt;         noticia<br>
&gt;         &gt;         &gt; tiene más de una imagen me lista la noticia<br>
&gt;         repetida tantas<br>
&gt;         &gt;         veces como<br>
&gt;         &gt;         &gt; imágenes haya asociadas.<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt;                Esto está bien, y es como se espera que<br>
&gt;         funcione una<br>
&gt;         &gt;         query: creciendo<br>
&gt;         &gt;         &quot;para abajo&quot; con tantos registros como datos tenga<br>
&gt;         la<br>
&gt;         &gt;         respuesta.<br>
&gt;         &gt;                Por lo que planteás, es como que esperás que<br>
&gt;         la<br>
&gt;         &gt;         respuesta &quot;se más<br>
&gt;         &gt;         ancha&quot;, es decir, tenga más columnas, pero nunca vas<br>
&gt;         a tener<br>
&gt;         &gt;         más<br>
&gt;         &gt;         columnas que las que estés proyectando.<br>
&gt;         &gt;<br>
&gt;         &gt;                La solución a aplicar es programática: en la<br>
&gt;         primer<br>
&gt;         &gt;         iteración de la<br>
&gt;         &gt;         query, rescatá los datos de News, y de la 1ra y las<br>
&gt;         &gt;         siguientes, usá solo<br>
&gt;         &gt;         los datos proyectados de Data.<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt;         &gt; Mi consulta original es<br>
&gt;         &gt;         &gt;<br>
&gt;         &gt;         &gt;     $qry=&quot;SELECT<br>
&gt;         &gt;         &gt;             <a href="http://news.id" target="_blank">news.id</a>,<br>
&gt;         &gt;         &gt;             tit,<br>
&gt;         &gt;         &gt;             cop,<br>
&gt;         &gt;         &gt;             des,<br>
&gt;         &gt;         &gt;             fecha,<br>
&gt;         &gt;         &gt;             ruta as img<br>
&gt;         &gt;         &gt;         FROM<br>
&gt;         &gt;         &gt;             news<br>
&gt;         &gt;         &gt;         LEFT JOIN<br>
&gt;         &gt;         &gt;             data<br>
&gt;         &gt;         &gt;         ON<br>
&gt;         &gt;         &gt;             <a href="http://news.id" target="_blank">news.id</a> = id_news AND tipo = &#39;img&#39;<br>
&gt;         &gt;         &gt;         ORDER by<br>
&gt;         &gt;         &gt;             fecha DESC,<br>
&gt;         &gt;         &gt;             id DESC&quot;;<br>
&gt;         &gt;         &gt;<br>
&gt;         &gt;         &gt; Había probado hacer una consulta anidada en<br>
&gt;         reemplazo de<br>
&gt;         &gt;         ruta as img,<br>
&gt;         &gt;         &gt; por SELECT ruta FROM news, data WHERE <a href="http://news.id" target="_blank">news.id</a> =<br>
&gt;         id_news AND<br>
&gt;         &gt;         tipo =<br>
&gt;         &gt;         &gt; &#39;img&#39; LIMIT 0,1, para que me devuelva una sola,<br>
&gt;         pero se me<br>
&gt;         &gt;         repite la<br>
&gt;         &gt;         &gt; misma imagen en cada noticia...<br>
&gt;         &gt;         &gt;<br>
&gt;         &gt;         &gt; Gracias<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt;                Por nada!<br>
&gt;         &gt;                (si se entiende)<br>
<br>
&gt;<br>
--<br>
<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a><br>
<a href="http://blog.pegasusnet.com.ar" target="_blank">http://blog.pegasusnet.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
<br>
_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar" target="_blank">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
</div></div></blockquote></div><br><br clear="all"><br></div></div><div><div></div><div class="h5">-- <br>Carolina Derromediz<br>Cel. +54 223 5301599<br>
</div></div><br>_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br></blockquote></div><br><br clear="all"><br>-- <br>Matias Fernando Gea<br>
<a href="mailto:matigea@gmail.com">matigea@gmail.com</a><br><a href="http://www.mfgea.com.ar">http://www.mfgea.com.ar</a><br>
</div>