Comunidad de diseño web y desarrollo en internet online

SELECT con integridad referencial

Citar            
MensajeEscrito el 20 Jul 2007 01:55 pm
Estoy intentando realizar una consulta SELECT entre tres tablas. La primera, contiene la información de una serie de publicaciones. Su descripción, sus dimensiones, su título... y además una clave foránea que la relaciona con la taba menu_publicaciones. Esta tabla contiene los tipos de publicaciones: catálogos y ilustraciones. Por último, la tercera tabla, fotos_publicaciones, contiene las urls de las imágenes que corresponden a cada publicación. Por tanto, tiene una clave foránea que relaciona cada imágen con su publicación.
Una vez nons hemos situado, o no... mi cuestión es: ¿Cómo puedo conseguir con una sola consulta la información de la tabla publicaciones, la de la tabla menu_publicaciones (hasta aquí conseguido) y todas las imágenes que le corresponden a esa publicación concreta.
Con esta consulta solo aparece una imágen por cada publicación:

Código :

SELECT a.any, a.titol, a.descripcio_eng, b.tipus_eng, c.url_amp 
   FROM publicacions a, menu_publicacions b, fotos_publicacions c
   WHERE a.id_menu = b.id AND c.id_pub = a.id
   LIMIT 3

Por saulo

43 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 20 Jul 2007 02:10 pm
Tenes que hacer un JOIN entre las tablas relacionadas.
Haces un SELECT de los campos que necesites y despues el JOIN o JOINS que necesites.
Un ejemplo podria ser

Código :

SELECT tab_a.id, tab_a.nombre, tab_b.id, tab_b.descripcion, tab_b.publicacion, tab_c.foto
FROM tab_a
INNER JOIN tab_b ON (tab_a.id = tab_b.a_id)
INNER JOIN tab_c ON (tab_b.id = tab_c.b_id);


Ajustalo a lo que necesites.

Por PabloHdS

251 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.