[Php-avanzado] Consulta entre dos tablas

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Oct 1 01:48:47 ART 2010


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



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