[Php-avanzado] Consulta entre dos tablas

Silverzero silverzero.52 en gmail.com
Vie Oct 1 09:01:09 ART 2010


Si, DISTINCT tambien lo había probado pero no me funcionó... :/

2010/10/1 Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar>

> Ahhh!!!
>
> Entonces, sacale el LIMIT que te había dicho, y comenzá la query con
> SELECT DISTINCT ...
>
>        Sin embargo, tal vez esto no funcione porque en realidad las filas
> no
> estarán repetidas cuando haya distintas imágenes... probalo y contanos,
> y si no vamos a tener que armar una subquery que devuelva solo un
> registro por cada noticia.
>
> El vie, 01-10-2010 a las 08:38 -0300, Silverzero escribió:
> > Si, pero en ese caso me lista una noticia sola, no?.
> > 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.
> >
> > 2010/10/1 Leonardo Tadei - Pegasus Tech Supply
> > <leonardot en pegasusnet.com.ar>
> >         Hola Carolina,
> >
> >                si solo querías la primer imagen, tu 1er query estaba
> >         bien, solo que al
> >         final tenías que agregarle un LIMIT 0,1
> >
> >                El LIMIT es a toda la query...
> >
> >         El vie, 01-10-2010 a las 07:30 -0300, Silverzero escribió:
> >
> >         > 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 Derromediz
> > Cel. +54 223 5301599
> > _______________________________________________
> > 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/eab6c5e2/attachment-0001.htm 


Más información sobre la lista de distribución Php-avanzado