Delphi - Consulta en 2 tablas !!!

 
Vista:

Consulta en 2 tablas !!!

Publicado por Fabián (64 intervenciones) el 17/08/2001 16:23:16
Hola a todos.

Estoy utilizando Querys con actualizaciones en caché y tengo la siguiente duda planteada con un ejemplito:

La tabla Cliente.db tiene un campo CodZona y la descripción de la zona se encuentra en otra tabla Zona.db. Necesito ver los clientes con la descripción de la zona en controles DB-Aware y creo que hay dos formas de hacerlo:

1) Agregando en el editor de campos del Query los campos de Cliente.db y el campo Descripción de Zona.db como un campo Lookup.

2) Utilizando en el SQL del Query la sentencia JOIN haciendo referencia en las dos tablas.

¿Qué ventajas y qué contras tiene cada uno de los métodos?

Entiendo que esto es bastante básico. Por lo que de todas las ideas que me sugieran son buenas y útiles para aquellos que leemos las consultas que se realizan en el foro y que no cazamos ni una.

Saludos.

Fabián...
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:Consulta en 2 tablas !!!

Publicado por mamcx (36 intervenciones) el 17/08/2001 18:07:59
El Sql es una implementacion de la BD

El campo LookUp es una implementación de Delphi

Por regla general, es mejor dejarle a la BD el trabajo pesado de obtener la informacion (con consultas y/o vistas) y a Delphi los asuntos de logica de la aplicación y presentación de la información.

Normalmente es mejor la opcion del Sql. Ahora bien, me supongo que al editar la info. del cliente se podra cambiar la zona, por lo que creo que tienes un combo con la lista de zonas disponibles. En ese caso, si requieres tener disponible la lista de zonas.

Entonces incorporar el campo de Nombre de Zona dentro de la consulta no funcionara porque al modificar la CodZona no se actualizara el nombre de esta (razón por la cual usar un Campo LookUp).

Otra alternativa seria ejecutar la consulta sobre zonas y cargar los nombres en memoria en un compo no DB- Aware. Es más manual pero se obtiene la ventaja de mayor rendimiento, ya que se podria cerrar la consulta y se liberarian recursos de máquina al tener menos tablas/consultas abiertas.

Pero si no se va a modificar el codzona, es más optimo el Sql. Siempre.

Chaou
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