[Php-avanzado] Consulta entre dos tablas

Silverzero silverzero.52 en gmail.com
Vie Oct 1 00:24:08 ART 2010


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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20101001/b582a414/attachment.htm 


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