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

Problema Existencial !!!

Estas en el tema de Problema Existencial !!! 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 28/09/2007, 09:19
 
Fecha de Ingreso: septiembre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Exclamación Problema Existencial !!!

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
----------------------
----------------------

No hay límite de personas ni revistas.


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 28/09/2007, 09:25
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Problema Existencial !!!

Problema existencial?! Ponele un nombre más representativo la próxima... y esto es de DB, no de PHP

Código:
SELECT personas.id, personas.apellido, IF(count(revistas_a),'SI','NO') AS revistas_a, IF(count(revistas_b),'SI','NO') AS revistas_b
FROM personas
LEFT JOIN revistas revistas_a ON personas.id = revistas_a.persona_id
LEFT JOIN revistas revistas_b ON personas.id = revistas_b.persona_id
  #3 (permalink)  
Antiguo 28/09/2007, 09:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema Existencial !!!

Tema trasladado a MySQL

Porfavor publica en los foros correctos.
  #4 (permalink)  
Antiguo 28/09/2007, 09:43
 
Fecha de Ingreso: septiembre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Problema Existencial !!!

Ok, pero de todas formas esa consulta no resuelve el problema.

Ya que no se sabe cuentas revistas pueden existir en la tabla revistas, ni tampoco el numero de personas en la tabla personas. La consulta tiene que adaptarse al número de tuplas de cada tabla al momento de ejecutarse.
Gracias.
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 23:33.