Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda con consultas y relaciones 1 a muchos.

Estas en el tema de Duda con consultas y relaciones 1 a muchos. en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/12/2007, 20:36
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
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
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #2 (permalink)  
Antiguo 11/12/2007, 02:13
Avatar de girion  
Fecha de Ingreso: diciembre-2007
Ubicación: Teulada
Mensajes: 24
Antigüedad: 16 años, 4 meses
Puntos: 0
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
  #3 (permalink)  
Antiguo 11/12/2007, 07:01
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
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
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #4 (permalink)  
Antiguo 11/12/2007, 07:17
Avatar de girion  
Fecha de Ingreso: diciembre-2007
Ubicación: Teulada
Mensajes: 24
Antigüedad: 16 años, 4 meses
Puntos: 0
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:
while ($fila = mysql_fetch_array($primera_consulta, MYSQL_BOTH))
{
*** voy al principio de $fila_2
while($fila_2=mysql_fetch_array($segundaconsulta))
{
if ($fila['id_noticia']==$fila_2['id_noticia'])
**** imprimo foto
}

}
  #5 (permalink)  
Antiguo 11/12/2007, 20:00
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Duda con consultas y relaciones 1 a muchos.

Muchas muchas gracias Girion
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #6 (permalink)  
Antiguo 12/12/2007, 03:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
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

Un saludo
  #7 (permalink)  
Antiguo 13/12/2007, 13:11
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
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.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #8 (permalink)  
Antiguo 14/12/2007, 07:14
Avatar de girion  
Fecha de Ingreso: diciembre-2007
Ubicación: Teulada
Mensajes: 24
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Duda con consultas y relaciones 1 a muchos.

seyco, ya le explique que con dos consultas y dos bucles lo tiene solucionado.
  #9 (permalink)  
Antiguo 14/12/2007, 07:15
Avatar de girion  
Fecha de Ingreso: diciembre-2007
Ubicación: Teulada
Mensajes: 24
Antigüedad: 16 años, 4 meses
Puntos: 0
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
  #10 (permalink)  
Antiguo 14/12/2007, 09:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Duda con consultas y relaciones 1 a muchos.

Cita:
Iniciado por girion Ver Mensaje
seyco, ya le explique que con dos consultas y dos bucles lo tiene solucionado.
Ya lo lei, pero es mucho más eficiente hacerlo con una consulta y un bucle!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:37.