![]() |
Duda con consultas y relaciones 1 a muchos. A ver, me resulta complicado explicar esto sin meter PHP de por medio, pero lo voy a intentar. Tengo dos tablas, noticias e imagenes. Noticias id_noticia titulo contenido Imagenes id_imagen id_noticia imagen Donde las imagenes de la tabla Imagenes se relacionan con las noticias a traves del campo id_noticia. Y si, puede haber mas de una imagen por noticia. Si debo buscar una noticia y todas sus imagenes lo puedo hacer sencillamente buscando primero la noticia y con su id luego buscar sus imagenes (sencillo pero no se si correcto). Ahora, si tengo que buscar (y mostrar) todas las noticias con todas sus imagenes, como hago? con una consulta busco todas las noticias y luego hago una consulta por cada noticia para buscar las imagenes? Es una duda que tengo dando vueltas hace algun tiempo y no tengo claro cual es la mejor manera de resolverla. Agradezco cualquier pista :-) Saludos |
Re: Duda con consultas y relaciones 1 a muchos. holaps! tienes ke hacer un group by ejemplo: select noticias.id_noticia, id_imagen from noticias, imagenes where noticias.id_noticia=imagenes.id_noticia group by noticias.id_noticia,id_imagen mas o menos asi, mirate lo del group by el problema es ke te saldra la noticia repetida si tienes varias imagenes por noticias. otra opcion es hacer dos selects, una para seleccionar las noticias, i luego otra para seleccionar las imagenes de la noticia ke vas a mosttrar |
Re: Duda con consultas y relaciones 1 a muchos. Gracias girion, habia visto ese tipo de consultas pero el problema era exactamente ese, si hay mas de una imagen, la noticia sale repetida tantas veces como cantidad de imagenes tenga. La segunda opcion funciona con una noticia, pero con varias? no serian muchas consultas? Gracias nuevamente :-) |
Re: Duda con consultas y relaciones 1 a muchos. hombre serian muxas consultas porque ten en cuenta que por cada noticia harias una consulta a la tabla de imagenes si tienes 10000 noticias seria una consulta para las noticias i 10000 consultas para las imagenes serian bastantes consultas... otra opcion ke estoy makinando seria.. hacer una consulta para todas las notticias i luego otra para agrupar imagenes select * from noticias select noticias.id_noticia, id_imagen from noticias, imagenes where noticias.id_noticia=imagenes.id_noticia group by noticias.id_noticia,id_imagen i luego hacer un bucle ke recorra el segundo objeto al ke le habras asignado la segunda consulta... i sacar todas las imagenes ke tengan id_noticia = a la noticia ke vas a imprimir entonces harias dos consultas pero tendrias el bucle para buscar imagenes de la segunda consulta. Cita:
|
Re: Duda con consultas y relaciones 1 a muchos. Muchas muchas gracias Girion :-) |
Re: Duda con consultas y relaciones 1 a muchos. Esta es una muy mala idea. Hazlo con una consulta y es muy facil comprobar dentro de un bucle si la noticia cambia o es la misma noticia con otra imagen. El rendimiento será muy muy muy superior a si tiras una consulta por cada noticia :patada: Un saludo |
Re: Duda con consultas y relaciones 1 a muchos. giron, por favor lee la Función de la sección de Base de Datos. No pongas código de programación aquí. Es raro... tengo amigos españoles y escriben bien eso de sustituir la y por i es una moda, falta de ortografía o qué? no tenes un corrector ortográfico? eso aplica también a las tontas palabras donde sustituyen letras por otras. Esto es un foro, es en español y no español inventado. Por favor trata de recordar eso. Lee este tema==> Mejoremos la ortografía. |
Re: Duda con consultas y relaciones 1 a muchos. seyco, ya le explique que con dos consultas y dos bucles lo tiene solucionado. |
Re: Duda con consultas y relaciones 1 a muchos. Perdón por lo del código BrujoNic, no lo sabía, lo de la "i" es porque estoy acostumbrado a escribir en valenciano y se me escapan algunas letras Perdón otra vez. un saludo |
Re: Duda con consultas y relaciones 1 a muchos. Cita:
|
| La zona horaria es GMT -6. Ahora son las 11:26. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.