Retroceder   Foros del Web > Programación para sitios web > Bases de Datos
Crea un nuevo usuario o inicia sesión utilizando tu cuenta de Facebook
Connect with Facebook

120 segundos en vivo - 2pm (México / Chile / Colombia / Perú), 1pm (Centroamérica), 3pm (Argentina) o 9pm (España).
Respuesta
 
Herramientas Desplegado
Antiguo 07-may-2008, 15:27   #1 (permalink)
xcars no le prestes ni un centavo
 
Avatar de xcars
 
Fecha de Ingreso: mayo-2005
Mensajes: 596
xcars está desconectado
Duda existencial en diseño de base

pues tengo un diseño que no me termina de convencer, ya que a la hora de reportes o algunas consultas se complica demasiado.
El diseno basico es el siguiente:

Prestamos: la cual contiene los registros de prestamos realizados por personas, y que contiene toda la informacion general de estos, nombre, domicilio, # de prestamo, etc

Categoria el Prestamo: el cual lleva una lista de las categorias en que puede estar un cliente, ej: Localizado, Ilocalizado

Subcategoria del prestamo: una lista de las subcategorias que puede tener cada categoria, ej:
Categoria subcategoria
Localizado Telefonicamente
Localizado En casa
Ilocalizado En trabajo

etc etc

ahora bien, a estas personas se les llama por telefono para realizar diferentes gestiones, cobro administrativo, cobro judicial, actualizacion de datos, etc

por lo tanto se relaciona con una tabla llamada GESTIONES, la cual es una bitacora de todas las llamadas telefonicas hechas a los clientes, esto significa que un prestamo puede tener muuuuchas gestiones, ahora bien cada gestion tiene una ACCION y una REACCION o resultado, por lo cual hay 2 tablas mas, una para las acciones (llamada por telefono, envio de fax, envio de email, envio de carta, etc) y las REACCIONES (cliente no reconoce deuda, cliente no estaba, cliente cambio domicilio etc)

ahora bien, por lo general yo siempre debo mostrar a parte de todas la informacion general, la informacion de la ultima gestion, pero la relacion de PRESTAMOS a GESTIONES solo es por el No. de prestamo por lo cual, un INNER JOIN siempre me devolvera n filas segun coincidencias en GESTIONES pero yo solo quiero coincidencias con la ultima gestion realizada, este es el primer problema, que aunque ya lo resolvi no me parece muy correcta la forma.

El otro problema es que quiero sacar un reporte que me liste todos los prestamos que tienen como resultado de la ultima gestion una cierta reaccion, pero por ejemplo yo podria llamarle 3 veces a un cliente y obtener la misma reaccion, pero a mi me interesa la ultima, o peor aun, la primera llamada no obtuve resultados, la segunda llamada tuve de reaccion_id 5 (por eje.) pero ya en la tercera llamada tuve como reaccion_id=7 entonces, este caso no deberia salir en el reporte, ya que me interesa el resultado de la ultima gestion, y es aqui, donde ya el diseño siento que topa.

Que me podrian sugerir? si necesitan el diseno en si, pues con gusto puedo ver como lo pongo, aqui les dejo el codigo de como voy hasta ahorita, pero aun asi no me resuelve nada.

Código:
select 
a.prestamo_id,
a.prestamo_deudor,
a.prestamo_direccion,
d.categoria_nombre,
e.subcategoria_nombre,
a.prestamo_notas,
(select top 1 c.resultado_nombre
from gestiones b inner join resultados_Gestiones c
on (b.resultado_id=c.resultado_id)
where a.prestamo_id=b.prestamo_id and b.resultado_id=6
order by gestion_id desc) as resultado_gestion
FROM 
prestamos a
INNER JOIN gestiones b ON (a.prestamo_id=b.prestamo_id and b.resultado_id=6)
INNER JOIN categorias d ON (a.categoria_id=d.categoria_id)
INNER JOIN subcategorias e ON (a.categoria_id=e.categoria_id 
AND a.subcategoria_id=e.subcategoria_id)
este me repite una fila por cada gestion, aunque la fila esta bien, me repite filas lo que significa que algo se me ha quedado fuera, espero y me puedan ayudar con el problema.
Saludos
__________________
QUE NADIE ME HABLE QUE NO SEA SUBVERSIVO
  Responder Citando
Respuesta
No hay votos aún.
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.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 14:28.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100