Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Duda Condicionar JOIN y eficiencia consulta

Estas en el tema de Duda Condicionar JOIN y eficiencia consulta en el foro de PostgreSQL en Foros del Web. Cordial Saludo Actualmente tengo 4 tablas: "terceros", "clientes", "zonas" y "remesas". Una remesa se puede relacionar a un tercero, a un cliente ó a una ...
  #1 (permalink)  
Antiguo 01/08/2011, 10:28
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 2
De acuerdo Duda Condicionar JOIN y eficiencia consulta

Cordial Saludo

Actualmente tengo 4 tablas: "terceros", "clientes", "zonas" y "remesas". Una remesa se puede relacionar a un tercero, a un cliente ó a una zona, pero solo a una de estas tres entidades a la vez, no a más de una de manera simultanea, por lo cual se me ocurrio crear una tabla llamada "relacionesRemesas" con los campos "idRemesa", "idEntidad", "entidad" (en el caso de ser "1" la relación es con clientes, en el caso de ser "2" la relación es con terceros y en el caso de ser "3" la relación es con zonas) por lo cual seria necesario condicionar en el SELECT (de la consulta al momento de visualizar el reporte con los datos de la remesa) el nombre a imprimir (ya sea de tercero, cliente ó zona, lo cual según he leído y probado con CASE se puede hacer) como así mismo el JOIN a realizar (ya sea a la tabla terceros, clientes ó zonas), más este JOIN también tendria que ir condicionado con base al valor que se guarde en el campo "entidad" (pues este determina con qué esta relacionada la remesa) más esto es exactamente lo que no sé hacer y no sé si se pueda hacer.

Así mismo se me ocurre que podria eliminar la tabla "relacionesRemesas" y crear otras tres, es decir: "remesasClientes" (con los campos "idRemesa" y "idCliente"), "remesasZonas" (con los campos "idRemesa" y "idZona") y "remesasTerceros" (con los campos "idRemesa" y "idTercero") y al momento de visualizar el reporte con los datos de la remesa consultar a las 3 tablas (lo cual desde mi punto de vista es poco eficiente).

Me gustaría saber sus puntos de vista y/ó sugerencias de cómo sería mejor hacerlo y saber si lo primero si es posible de hacer y cómo.

Muchas gracias.
  #2 (permalink)  
Antiguo 31/08/2011, 10:17
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Duda Condicionar JOIN y eficiencia consulta

Si se utilizan varias tabla podrías utilizar un UNIÓN

claro, deberías analizar bien el diseño de tu base de datos.

Abuzando de no saber exactamente lo que quieres hacer diría, que la zona debería pertenecer al cliente y al tercero o en su defecto la zona debería ir en la tabla remesa ya que una remesa va para una zona, o el cliente que es de x zona no creo que necesite recibir remesas en otras zonas. yo lo pensaría de esa forma, de pronto explicando un poco mas, te podría ayudar mas.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co

Etiquetas: dato, eficiencia, join
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:22.