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

Consultar de varias tablas.

Estas en el tema de Consultar de varias tablas. en el foro de Mysql en Foros del Web. A ver si me podéis ayudar, he solucionado mi problema mediante dos consultas separadas (que mostraré más abajo) y luego uniéndolas mediante PhP, pero sería ...
  #1 (permalink)  
Antiguo 03/03/2014, 15:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 2
Consultar de varias tablas.

A ver si me podéis ayudar, he solucionado mi problema mediante dos consultas separadas (que mostraré más abajo) y luego uniéndolas mediante PhP, pero sería mejor para mi tener solo una consulta.

La cosa está así, tengo 2 tablas, "MODELOS" y "SITIOS" , tienen varios campos identicos y varios que no, para el problema solo nos interesan los campos idénticos que son: "id","nombre","activo","destacado"

Contamos con una tercera tabla "IMAGENES", los campos que nos interesan de ella son
"modelo"(guarda la id de su propietario) ,
"ruta",
"clase" ya que un modelo o un sitio pueden tener la misma id al estar en tablas distintas, para identificarlas añadiremos si es modelo o sitio,
"tipo".

Así pues lo que debería hacer la consulta es, coger tanto de "MODELOS" como de "SITIOS" , los destacados y activos con su respectiva imagen de tipo portada.

Y estas son las dos consultas que quiero unir:

Código SQL:
Ver original
  1. SELECT II.ruta AS ruta, SI.id AS id, SI.nombre AS nombre
  2.                         FROM imagenes II
  3.                         INNER JOIN sitios SI ON (II.modelo = SI.id)
  4.                         WHERE  activo ='si' AND destacado >= '".$fecha."' AND II.tipo='portada' AND II.clase='sitio'
  5.  
  6. ------
  7.  
  8. SELECT II.ruta AS ruta, MO.id AS id, MO.nombre AS nombre
  9.                         FROM imagenes II
  10.                         INNER JOIN modelos MO ON (II.modelo = MO.id)
  11.                         WHERE  activo ='si' AND destacado >= '".$fecha."' AND II.tipo='portada' AND II.clase='modelos'
[/CODE]

Gracias de antemano

Última edición por molinillo; 03/03/2014 a las 16:33
  #2 (permalink)  
Antiguo 04/03/2014, 04:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consultar de varias tablas.

Código MySQL:
Ver original
  1. SELECT II.ruta AS ruta, SI.id AS id, SI.nombre AS nombre
  2.                         FROM imagenes II
  3.                         INNER JOIN sitios SI ON (II.modelo = SI.id)
  4.                         WHERE  activo ='si' AND destacado >= '".$fecha."' AND II.tipo='portada' AND II.clase='sitio'
  5.  
  6.  
  7. SELECT II.ruta AS ruta, MO.id AS id, MO.nombre AS nombre
  8.                         FROM imagenes II
  9.                         INNER JOIN modelos MO ON (II.modelo = MO.id)
  10.                         WHERE  activo ='si' AND destacado >= '".$fecha."' AND II.tipo='portada' AND II.clase='modelos'
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: campo, consultar, join, php, select, tabla
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 06:34.