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

Acaso nadie tiene la respuesta?

Estas en el tema de Acaso nadie tiene la respuesta? en el foro de Mysql en Foros del Web. Tengo 3 tablas en MySQL 4.0x personas ----------------- PK id apellido ---------------------- ---------------------- revistas ----------------- PK id nombre ---------------------- ---------------------- personas_revistas ----------------- PK id FK ...
  #1 (permalink)  
Antiguo 29/09/2007, 16:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Exclamación Acaso nadie tiene la respuesta?

Tengo 3 tablas en MySQL 4.0x

personas
-----------------
PK id
apellido
----------------------
----------------------

revistas
-----------------
PK id
nombre
----------------------
----------------------

personas_revistas
-----------------
PK id
FK persona_id
FK revista_id
----------------------
----------------------

!!!!!IMPORTANTE!!!!!!
No se conocen los limites de personas ni revistas hasta el momento de ejecutar la consulta.


Necesito el siguiente resultado en pantalla:

personas.id | personas.apellido | revistas_a | revistas_b | revistas_c, | revistas_...n+1|
1 | Pérez | SI | | SI | |
3 | Benq | | SI | SI | |
4 | López | SI | SI | SI | SI |
5 | Martinez | | SI | | |
----------------------------------------------------------------------------------------------------------

Es decir, para cada persona me indique o no, si tiene una de las revistas de la tabla revista, en función de las relaciones personas_revistas.

Cual es la consulta SQL que resuelve esto?
Gracias...
  #2 (permalink)  
Antiguo 29/09/2007, 19:24
Avatar de kunndry  
Fecha de Ingreso: abril-2004
Ubicación: Alicante / España
Mensajes: 247
Antigüedad: 19 años, 11 meses
Puntos: 0
Re: Acaso nadie tiene la respuesta?

Hasta donde yo se, con una consulta, podras obtener o el numero de revistas a la que esta "suscrito" una persona, o todas las revistas a la que esta suscrito una persona, y en forma de tabla, no de lista.

Para hacer lo que quieres, necesitarias ejecutar un sencillo php,asp,jsp, aplicación de escritorio....

Por lo que yo se del modelo relacional, veo complicado que se pueda hacer, ya que es necesario que te devuelva una tabla....y eso seria una tabla de tamaño variable por fila...
  #3 (permalink)  
Antiguo 29/09/2007, 20:06
 
Fecha de Ingreso: septiembre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Acaso nadie tiene la respuesta?

Actualmente lo realizo a través de código php, pero creo que debe haber una forma más optimizada para hacerlo directamente en el motor de la base de datos.

Es importante la optimización ya que el ejemplo es muy sencillo, pero la realidad del asunto cruza miles de datos.

La cantidad de columnas y filas es fija al momento de ejecutar la consulta.
  #4 (permalink)  
Antiguo 30/09/2007, 17:25
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 9 meses
Puntos: 2
Re: Acaso nadie tiene la respuesta?

El sql te devolvera el id o null de cada revista por usuario, sera cosa de php convertir ese id o null en si o no


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #5 (permalink)  
Antiguo 01/10/2007, 16:48
 
Fecha de Ingreso: septiembre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Acaso nadie tiene la respuesta?

Y cual sería entonces la consulta SQL?
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 07:04.