Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   unir tablas (https://www.clubdelphi.com/foros/showthread.php?t=15355)

Mario1980 20-10-2004 15:08:52

unir tablas
 
Hola, quisiera saber como puedo unir tablas en delphi 2, es decir que al usar un dbGRid me aparezca en una sola tabla los campos de dos tablas distintas pero sin crear una tabla auxiliar.
POR FAVOR AYUDA!!!

Neftali [Germán.Estévez] 20-10-2004 15:23:29

¿Cómo son las dos tablas?¿Se parecen en algo? ¿Tienen la misma estructura?
¿Se relacionan por algun campo?
Si no se relacionan ¿Cómo quieres que aparezcan los registros? ¿Primero los de la tabla 1 y luego los de la 2 (si tienen campos diferentes cómo va a quedar eso en pantalla)?

Investment 20-10-2004 15:24:27

Con una Select:

Código:

    SELECT A.Campo1, A.Campo2, B.Campo1,B.Campo2
      FROM TABLA1 A, TABLA2 B
    WHERE  A.Campo3=B.Campo3


Mario1980 20-10-2004 17:51:25

Las tablas si tienen cosas en comun por ejemplo hay un campo llamado PROD_ID y en otra tabla hay otra con el mismo campor y ademas con PROD_NAME lo que quiero que el contenido de la primer tabla aparezca todo y ademas PRO_NAME porque quiero habilitar un lookup en el campo prod_name.
El tema del select creo que no es necesario porque yo habia visto esa solucion por algun lado y no utilizaba sql.
Gracias

Neftali [Germán.Estévez] 21-10-2004 15:52:53

Ahora mejor...;)

Lo más sencillo en ese caso es Utilizar un Query contra el DBGrid, en lugar de un TTable y usar una senetencia SQL con JOIN como la que te han añadido más arriba.

Investment 21-10-2004 15:59:39

Cita:

Empezado por Mario1980
El tema del select creo que no es necesario porque yo habia visto esa solucion por algun lado y no utilizaba sql.
Gracias

De nada, pero salvo que te hayas explicado mal o yo te haya entendido peor, deberia servirte para lo que dices. En cualquier caso cuando encuentres la solucion sin usar SQL publicalá que nunca viene mal aprender algo nuevo y distinto.
Gracias... y suerte en tu búsqueda.

AGAG4 21-10-2004 16:07:29

Utiliza el Select .... JOIN

RONPABLO 21-10-2004 20:03:42

Cita:

Empezado por AGAG4
Utiliza el Select .... JOIN

El join es tal vez la mejor forma de unir la informacion de una tabla con otra, pero a mi me ha pasado algo que no se como hacerlo y es que tengo que unir la informacion en dos diferentes tablas con campos similares pero sumado a esto ocurre que estan en diferentes bases de datos y hay no se como unirlas con el join...
Y si existe una forma de hacerlo directamente sobre el DataSource o el DataSet simplificaria todo

hogol 22-10-2004 10:36:45

Hola

Para hacer esto que quieres sin usar sql, entonces lo que debes hacer es crear un campo nuevo y asociarlo a la otra tabla.
Debes ir al editor de campos de la tabla principal y desde ahí crear un campo nuevo que le puedes llamar como quieras.
En la opción de tipo de campo debes seleccionar lookup.
A continuación debes seleccionar el campo de la tabla principal que usarás de vínculo con la otra (en tu caso supongo que PROD_ID)
Ahora selecciona la tabla que quieres asociar y el campo que usarás de vinculo.
Finalmente seleccionas el campo que deseas mostrar (PRO_NAME).
El resultado final será el mismo que si lo hicieras con un qry, la ventaja es que de este modo puedes hacerlo también sobre un Ttable.

Espero que te sirva
Saludos
Hogol


La franja horaria es GMT +2. Ahora son las 06:39:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi