Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Relacionar tablas SQL Propina a respuesta eficaz

Estas en el tema de Relacionar tablas SQL Propina a respuesta eficaz en el foro de PHP en Foros del Web. Hola, Hago honor a mi nombre de usuario . Resulta que tengo una duda con una consulta sql que me permita hacer el trabajo 3 ...
  #1 (permalink)  
Antiguo 19/03/2015, 17:30
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 7 meses
Puntos: 1
Exclamación Relacionar tablas SQL Propina a respuesta eficaz

Hola,

Hago honor a mi nombre de usuario . Resulta que tengo una duda con una consulta sql que me permita hacer el trabajo 3 en uno. Supongo que será un INNER JOIN o un JOIN LEFT o algo así que he podido leer por Internet.

Supongamos que tengo una tabla llamada tierra, otra llamada fuego y otra llamada agua. La principal de las tres es tierra y las otras dos son datos que complementan la primera. La tabla tierra tiene una ID autonumérica llamada id. Las otras dos tablas tienen el campo: id_tierra que las relaciona con tierra.

Entonces, mi pregunta es la siguiente: ¿Como puedo hacer para mostrar en pantalla los últimos 50 resultados de tierra siempre y cuando haya en las tablas fuego y agua una id de id_tierra? ¿Se ha entendido?.

Lo que yo hacía era mostrar los últimos 50 resultados de tierra y por cada registro buscar si había algo en tierra y agua. Claro, así a lo mejor conseguía encontrar 4-5 de esos 50, pero yo quiero mostrar los 50 netos que coincidan con esa SQL?.

Espero que alguien me ayude y si la respuesta es eficaz, me encargaré de dar una propina :P.

Un saludo,
MalditaSQL
  #2 (permalink)  
Antiguo 20/03/2015, 05:02
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 18 años
Puntos: 32
Respuesta: Relacionar tablas SQL Propina a respuesta eficaz

No estoy seguro si te he entendido bien, mira si esto es algo de lo que busca.

Sin entrar en inner join o join left, ya que no se si quiere también mostrar datos de las otras dos tablas.

Código:
SELECT * FROM tierra WHERE 
id IN (SELECT id_tierra FROM fuego) AND 
id IN (SELECT id_tierra FROM agua)  ORDER BY id DESC LIMIT 50
Tampoco especifica si tiene que estar en las dos tablas (fuego y agua) en tal caso cambia el operador AND por OR

Saludos
  #3 (permalink)  
Antiguo 20/03/2015, 07:12
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Relacionar tablas SQL Propina a respuesta eficaz

Cita:
Iniciado por gogupe Ver Mensaje
No estoy seguro si te he entendido bien, mira si esto es algo de lo que busca.

Sin entrar en inner join o join left, ya que no se si quiere también mostrar datos de las otras dos tablas.

Código:
SELECT * FROM tierra WHERE 
id IN (SELECT id_tierra FROM fuego) AND 
id IN (SELECT id_tierra FROM agua)  ORDER BY id DESC LIMIT 50
Tampoco especifica si tiene que estar en las dos tablas (fuego y agua) en tal caso cambia el operador AND por OR

Saludos
Hola,

Muchísimas gracias a gogupe, me ha solucionado la incidencia con la SQL expuesta arriba. Lo prometido es deuda y ya me he puesto en contacto contigo para ultimar ;). Espero que esto sirva para alguien en el día de mañana.

Un saludo.

Etiquetas: mysql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:15.