Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Generar consulta entre dos tablas relacionadas (https://www.clubdelphi.com/foros/showthread.php?t=77138)

cmfab 26-12-2011 19:09:45

Generar consulta entre dos tablas relacionadas
 
Hola de nuevo a todos. tengo el siguiente problemilla. resulta que en una BD MySQL poseo una tabla con dos campos ids de tipo integer (Tabla1) y otra tabla (Tabla2) contiene dos campos (ID, Descripcion) como puedo armar una consulta para en un solo registro obtener la relacion de los dos campos de tabla1 y de esta manera conocerr para cada uno de ellos las descripciones segun ambos ids que serian dos registros diferentes de Tabla2. Mil gracias por sus atenciones

ecfisa 26-12-2011 19:33:11

Hola cmfab.

Si no te entiendí mal, una forma podría ser:
Código SQL [-]
SELECT
  (SELECT DESCRIPCION FROM DESCRIPCIONES WHERE DESCRIPCIONES.ID = RELACION.REF_1),
  (SELECT DESCRIPCION FROM DESCRIPCIONES WHERE DESCRIPCIONES.ID = RELACION.REF_2)
FROM RELACION
En el ejemplo, RELACION es la tabla con los dos campos de referencia al campo ID de la tabla DESCRIPCIONES.

cmfab 26-12-2011 19:52:55

Gracias por la respuesta pero no me funciona, osea me explico de nuevo, Tabla1 tiene una gran cantidad de registros con varios campos, pero tiene dos campos numericos id1 e id2, osea esos dos campos estan presentes en todos los registros de Tabla1 (dos campos diferentes), sin embargo, en tabla 2 (estructura: ID, Descripcion) se encuentran las descripciones por ejemplo en dos registros tendria 1-Descripcion1, 2-Desxripcion2. lo que necesito es obtener una relacion que para un registro de tabla 1 me ponga las dos descripciones que estan en dos registros de tabla2

ecfisa 26-12-2011 20:11:45

Hola.

Creo que no has probado bién la consulta que te puse, voy a cambiar los nombres de tabla y campos para clarificar.

Consulta:
Código SQL [-]
SELECT
  (SELECT DESCRIPCION FROM TABLA2 WHERE TABLA2.ID = TABLA1.REF_ID1),
  (SELECT DESCRIPCION FROM TABLA2 WHERE TABLA2.ID = TABLA1.REF_ID2)
FROM TABLA1

Prueba y resultado con unos datos:

Tabla1
Código:

ID        REF_ID1        REF_ID2
1        1        2
2        2        3
3        3        4
4        4        5
5        5        6
6        1        6
7        2        5
8        3        4

Tabla2:
Código:

ID        DESCRIPCION
1        A
2        B
3        C
4        D
5        E
6        F
7        G
8        H

Resultado:
Código:

DESCRIPCION        DESCRIPCION1
A                B
B                C
C                D
D                E
E                F
A                F
B                E
C                D

Que según entiendo es lo que buscas hacer.

Un saludo.

cmfab 26-12-2011 20:21:02

Si gracias, lo lamento es que al cambiar algunos parametros cometi un error. mil disculpas por ocupar con ello tu tiempo. funciona correctamente. Gracias nuevamente

ecfisa 26-12-2011 20:25:52

Hola cmfab.

No tenés por que disculparte, seguramente fuí yo quien se expresó de forma confusa (por eso luego cambié los nombres). Lo importante es que te funcione bién ;)

Un saludo. :)

cmfab 26-12-2011 21:56:08

Gracias por la bondad


La franja horaria es GMT +2. Ahora son las 19:53:12.

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