[Php-avanzado] Consulta entre dos tablas
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Sep 30 22:25:38 ART 2010
Hola Carolina,
El jue, 30-09-2010 a las 21:07 -0300, Silverzero escribió:
> Hola tengo un problema con una consulta a dos tablas (que seguro es
> una pavada y yo no la veo), en una tengo noticias y en otra guardo
> archivos, videos e imagenes de cada noticia, que pueden ser, ninguna o
> más de una.
> Cuando listo las noticias quiero que se vea UNA de las fotos (la de ID
> menor), titulo, fecha, copete/desarrollo. Pero cuando una noticia
> tiene más de una imagen me lista la noticia repetida tantas veces como
> imágenes haya asociadas.
Esto está bien, y es como se espera que funcione una query: creciendo
"para abajo" con tantos registros como datos tenga la respuesta.
Por lo que planteás, es como que esperás que la respuesta "se más
ancha", es decir, tenga más columnas, pero nunca vas a tener más
columnas que las que estés proyectando.
La solución a aplicar es programática: en la primer iteración de la
query, rescatá los datos de News, y de la 1ra y las siguientes, usá solo
los datos proyectados de Data.
> Mi consulta original es
>
> $qry="SELECT
> news.id,
> tit,
> cop,
> des,
> fecha,
> ruta as img
> FROM
> news
> LEFT JOIN
> data
> ON
> news.id = id_news AND tipo = 'img'
> ORDER by
> fecha DESC,
> id DESC";
>
> Había probado hacer una consulta anidada en reemplazo de ruta as img,
> por SELECT ruta FROM news, data WHERE news.id = id_news AND tipo =
> 'img' LIMIT 0,1, para que me devuelva una sola, pero se me repite la
> misma imagen en cada noticia...
>
> Gracias
Por nada!
(si se entiende)
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado