SQL - Enlace de dos tablas

 
Vista:

Enlace de dos tablas

Publicado por Herni (5 intervenciones) el 30/08/2004 03:19:21
Hola a todos.
Me gustaría saber cuál es la sentencia exacta que debo usar para enlazar la "Tabla1" con la "Tabla2", mediante el campo de "Tabla1" llamado "Campo1" y el campo de "Tabla2" llamado "Campo2".
Así poder obtener los registros de "Tabla1" con algunos de los datos de "Tabla2".
No sé si me he explicado lo suficiente.
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Enlace de dos tablas

Publicado por Isaías Islas (5072 intervenciones) el 30/08/2004 17:43:24
Para "enlazar" 2 tablas, se requiere de una COLUMNA en comun.

Cuando se crea una tabla se crea el la REFERENCIA:

CREATE TABLE TABLE1 (Mycol1 INT NOT NULL REFERENCES TABLA2(Mycol1))

En este caso, se crea TABLE1 y se "enlaza" mediante la columna MYCOL1 a TABLE2 con la columna MYCOL1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Blacky_dy (11 intervenciones) el 30/08/2004 21:10:07
De todas formas, suponiendo un modelo de base de datos no relacional, no es necesario que existan estas relaciones declaradas en tu base de datos.

Es sufuciente con que conozcas los campos en comun que tienen las tablas para construir un join.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Isaías Islas (5072 intervenciones) el 30/08/2004 21:38:40
Totalmente de acuerdo, solo que no seria DRI.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Rodrigo Carrasco (17 intervenciones) el 30/08/2004 23:15:49
Entonces la forma más simple, que funcionaría en cualquier caso, sería escribir una sentencia como la siguiente:
SELECT tabla1.campo1, tabla1.{otros campos}, tabla2.campo2, tabla2.{otros campos}
FROM tabla1, tabla2
WHERE tabla1.campo1 = tabla2.campo2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Isaías Islas (5072 intervenciones) el 30/08/2004 23:49:18
Aunque se re RECOMIENDA utilizar JOIN:

SELECT tabla1.campo1, tabla1.{otros campos}, tabla2.campo2, tabla2.{otros campos}
FROM tabla1 JOIN tabla2
ON tabla1.campo1 = tabla2.campo2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Herni (5 intervenciones) el 31/08/2004 01:45:39
Gracias a todos, creo q me servirá. En caso contrario ya lo haría saber.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por - (1 intervención) el 31/08/2004 23:54:50
Porque es recomendable? Es un dato interesante, porque siempre use where sin saberlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Isaías Islas (5072 intervenciones) el 01/09/2004 01:58:41
Todo AVANZA y el WHERE fue clasico para la "union" de los registros de una y otra tabla, hoy se ha implementado el JOIN que es mas eficiente.

Asi de simple.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Pancho (4 intervenciones) el 01/09/2004 20:07:37
WHERE tiene un operador *= y =* que es el equivalente a LEFT JOIN y RIGHT JOIN, el equivalente de JOIN es por lo tanto =, existe en Transact aunque desconozco si en otros manejadores SQL esta implementado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enlace de dos tablas

Publicado por Isaías Islas (5072 intervenciones) el 01/09/2004 23:10:25
Copiado fielmente de la ayudad en linea:

Especifica una combinación externa con la sintaxis antigua específica del producto y la cláusula WHERE. Se utiliza el operador *= para especificar una combinación externa izquierda y el operador =* para especificar una combinación externa derecha.

No se recomienda utilizar esta sintaxis de combinación externa debido a la posibilidad de que la interpretación sea ambigua y porque se trata de una sintaxis no estándar. En su lugar, especifique las combinaciones en la cláusula FROM con un JOIN

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar