Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta maestro detalle. (https://www.clubdelphi.com/foros/showthread.php?t=44079)

jplj 28-05-2007 16:39:25

Consulta maestro detalle.
 
Hola:

Tengo dos tablas en Access.

Nombre Tabla: T1
Nombre Campo Tipo
id Autonumerico
nombre String

Nombre Tabla: T2
Nombre Campo Tipo
id Numérico
telefono String

La segunda de ellas está vinculada con la primera por el camo id. Un registro de T1 puede estar vinculado a varios de T2.

Lo que pretendo es obtener mediante una instrucción SQL un listado en el aparezcan en cada registro -linea- el nombre y todos los teléfonos asociados.


Gracias de antemano por vuestra atención.
Un Saludo
Juan P.

ContraVeneno 28-05-2007 18:01:07

Código SQL [-]
Select T1.Nombre, T2.Telefono
From T1 join T2 on T1.ID=T2.ID

jplj 28-05-2007 23:47:33

El código que me propones lista el nombre y "un" teléfono. Si un nombre tiene más de un teléfono, aparecen tanto 'registros / líneas' como teléfonos tenga.
Lo que pretendo es obtener en una línea el nombre y todos los teléfonos que pudiera tener sólo con SQL.

ContraVeneno 29-05-2007 00:08:46

Que raro, porque yo lo estoy probando y por cada registro en T1, me aparecen todos los correspondientes en T2.

Es decir, en T1 tengo un registro y en T2 tengo 3 que le corresponden y me muestra como resultado:
Código:

T1.Nombre  T2.Tel
Carlos          123
Carlos          124
Carlos          125


jplj 30-05-2007 20:16:05

Hola de nuevo, hasta ahora no he podido ver tu respuesta.

Creo que en mi exposición me he expresado mal, efectivamente la consulta hace lo que dices. Pero lo que yo pretendo es que el listado resultante sea:
Código Delphi [-]
T1.Nombre     Tel      Tel     Tel   ... Tel(n)

carlos           7526    232   211        
jose              121      21     121

Con la dificultad añadida de que no se sabe de antemano el nº de telefonos que pueda tener cada T1.nombre asociado.

Creo que no se puede hacer directamente con una sentencia SQL. No obstante, antes de hacerlo de otra forma quiero estar seguro.

Un Saludo

ContraVeneno 30-05-2007 20:24:14

Busca información sobre "TRANSFORM" y "PIVOT" en access....


La franja horaria es GMT +2. Ahora son las 17:06:43.

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