Como traer datos de TABLAS RELACIONADAS

14/01/2005 - 19:08 por Jose | Informe spam
en un form de mi aplicacion tengo que traer datos de una tabla de encabezado
y tambien los registros relacionados de una tabla de detalle.

Pero la de detalle esta relacionada con otra que contiene una descripcion
que debo traer tambien.

Mi pregunta es que al traer los registros de detalle debo hacer ahi mismo el
join para traer la descripcion o debo solo traer primero los datos y luego
recorrer cada registro para traer la descripcion necesaria para cada uno.

Como es mejor hacerlo ?

Si me pudieran dar un ejemplito

muchas gracias por su ayuda
 

Leer las respuestas

#1 Edgar Contreras
14/01/2005 - 19:30 | Informe spam
Lo puedes hacer de las dos maneras, aunque obviamente la más rápida es que
hagas el JOIN directamente en la consulta, así te evitarás hacer un ciclo
que puede tardar eternidades (al menos hablando en tiempo de procesador).

Por ejemplo, si tienes las siguientes tablas:

Clientes
==Id
Nombre

Partes
==Id
Descrip

EncOrdenes
Id
IdCliente (FK sobre Id en Clientes)
Fecha

DetOrdenes
Id
IdOrden (FK sobre Id en Ordenes)
IdParte (FK sobre Id en Partes)
Qty

En tu consulta quieres traer todos los registros Detalle de la orden 12345,
pero que te traiga el nombre del cliente que hizo la compra y la descripción
para cada Parte comprada, entonces podrías hacer un SELECT parecido al
siguiente:

SELECT o.fecha, o.id, c.nombre, d.idparte, p.descrip, d.qty
FROM detordenes d INNER JOIN partes p ON d.idparte=p.id
INNER JOIN encordenes o ON d.idorden=o.orden
INNER JOIN clientes c ON o.idcliente=c.id
WHERE o.id='12345'

Espero te sirva.



Saludos,

Edgar Contreras


[Conectado desde Tijuana, B.C. México]

DISCLAIMER: La información es presentada como es, sin ninguna
responsabilidad, sin garantía alguna y no otorga
derecho alguno.



"Jose" wrote in message
news:OoyRWNm%
en un form de mi aplicacion tengo que traer datos de una tabla de
encabezado
y tambien los registros relacionados de una tabla de detalle.

Pero la de detalle esta relacionada con otra que contiene una descripcion
que debo traer tambien.

Mi pregunta es que al traer los registros de detalle debo hacer ahi mismo
el
join para traer la descripcion o debo solo traer primero los datos y luego
recorrer cada registro para traer la descripcion necesaria para cada uno.

Como es mejor hacerlo ?

Si me pudieran dar un ejemplito

muchas gracias por su ayuda


Preguntas similares