Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/06/2007, 03:27
tammander
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: INNER JOIN y mostrar Ids de Tablas relacionadas

Te podriamos poner todas las sentencias SQL que quisieras pero si no las comprendes y porqué no te servirán más que de forma coyuntural. Lo ideal es que te leyeras un buen manual de T-SQL (busca en San Google, los hay a cientos) pero voy a intentar explicarte como funcionan los INNER JOIN.

Cita:
El uso de INNER JOIN (y su antagonista OUTER JOIN) es bastante común. Sirven para buscar datos en dos o mas tablas que presenten rasgos comunes (emparejar filas). Es lo mismo que las busquedas cartesianas (creo que se llaman asi):

SELECT t.tipos_nombre
FROM tipos t, destacados d
WHERE t.id_tipo = d.destacados_tipo AND d.id_destacados = 1
De aqui

Un ejemplo más cercano seria:

SELECT equipos.*, tipo_equipos.nom_equipo
FROM equipos, tipo_equipos
WHERE equipos.tipo_equipo = tipo_equipos.tipo_equipo
AND equipos.id = 1 ' por poner un numero

¿Entiendes la lógica de esta búsqueda? En lenguaje coloquial: Seleccioname todos los campos de la tabla equipos y el campo nom_equipo de la tabla tipo_equipos DONDE el campo tipo_equipo de la tabla equipos sea igual al campo tipo_equipo de la tabla tipo_equipos Y el campo id de la tabla equipos sea igual a 1 (o al numero que quieras)

¿Ves como relacionamos los campos de ambas tablas? ¿Ves el uso de los foreign keys con los campos primarios? Bien, ahora vamos a hacer exactamente lo mismo pero usando INNER JOIN:

SELECT equipos.*, tipo_equipos.nom_equipo
FROM equipos INNER JOIN tipo_equipos ON equipos.tipo_equipo = tipo_equipos.tipo_equipo
WHERE equipos.id = 1

Fíjate en lo que cambia. Justamente en la comprobación de los campos clave entre la tabla dependiente y la independiente en una relación uno a varios (en el ON). Mira esta página. Igual te ilustra algo más:

- http://zumbe.net/tutoriales/inner_jo...ir_tablas.html



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -

Última edición por tammander; 07/06/2007 a las 01:19 Razón: Gracias Shiryu, espero de verdad que sirva a alguien