[Php-avanzado] Consulta entre dos tablas
Silverzero
silverzero.52 en gmail.com
Vie Oct 1 07:30:23 ART 2010
No, solo una. Porque es para el listado de todas las noticias, y queria que
se mostrara cada una con una imagen de todas las que tuviera asociadas
(hubiera sido ideal la de menor ID).
2010/10/1 Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar>
> Pero esa query no te devuelve todas las imágenes... no te hacían falta
> todas???
>
> El vie, 01-10-2010 a las 00:24 -0300, Silverzero escribió:
> > Hola Leo,
> >
> > Gracias por la respuesta.
> > Lo arreglé así:
> >
> > $qry="SELECT
> > news.id,
> > tit,
> > cop,
> > des,
> > fecha,
> > ruta as img
> > FROM
> > news
> > LEFT JOIN
> > data
> > ON
> > news.id = id_news AND tipo = 'img'
> > GROUP BY
> > news.id
> > ORDER by
> > fecha DESC,
> > id DESC";
> >
> > Lo único es que me elige una imagen a criterio desconocido, pero me da
> > la impresión que es una con el id intermedio porque nunca es la mayor
> > ni la menor.
> >
> > 2010/9/30 Leonardo Tadei - Pegasus Tech Supply
> > <leonardot en pegasusnet.com.ar>
> > 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
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> >
> > --
> > Carolina
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> --
>
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> http://blog.pegasusnet.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
--
Carolina Derromediz
Cel. +54 223 5301599
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20101001/1eb2f448/attachment.htm
Más información sobre la lista de distribución Php-avanzado